Ericky 发表于 2013-6-21 12:02

【爆破的艺术】不直接修改跳转的爆破 2013.6.21

本帖最后由 PoJie_小雨 于 2014-9-14 21:23 编辑

【文章标题】:【爆破的艺术】不直接修改跳转的爆破 2013.6.21【文章作者】: xiaoyu
【作者邮箱】:
【保护方式】: none
【使用工具】: PEiD,OllyDbg
【编程语言】:Borland Delphi 3.0
【作者声明】: 主要记录自己的学习过程!欢迎交流学习
【下载地址】: http://pan.baidu.com/share/link?shareid=1775582093&uk=892352529
今天我们讲几种爆破的方法给大家------->主要是给新手~
查壳之后无壳。

1.修改跳转
我们用OD载入 ,
BP GetDlgItemTextA
来到关键代码段。


这里的两个cmp 就是提取判断name 和serial 是否为空
之前已经分析了很多次了
--------------------------------------------------------------------------------
单步走来到:



004192D5   . /75 17         jnz short CrackMe.004192EE
将jnz 修改成jz即可。

2.有些软件是不能改跳转的,那该怎么办呢、?
我们可以发现:
004192D0   .E8 5FADFEFF   call CrackMe.00404034
004192D5   .75 17         jnz short CrackMe.004192EE
这个关键跳上面有一个关键的CALL
我们进入CALL分析:


00404034/$53            push ebx
00404035|.56            push esi
00404036|.57            push edi
;保护现场

注意下面的那条CMP
他是可以改变ZF的
0040403B|.39D0          cmp eax,edx
将EDX 与EAX 对比相同则成功,否则将失败
因此 我们只需将edx改成eax
就可爆破成功

3.当然,既然是将edx与eax相比较的话
我们也可以找找之前有那些语句给它们赋值

004192CC   .8B55 A8       mov edx,dword ptr ss:            ;这条就是赋值给了EDX
004192CF   .58            pop eax                                  ;这条给EAX赋值
所以我们要找EAX的值是多少.
与POP对应的PUSH
所以我们要找PUSH EAX找最近的那个
特别注意的是要当中间代码段无其他入栈指令的时候
004192A6   .8B45 AC       mov eax,dword ptr ss:
004192A9   .50            push eax
我们找到了
EAX的值其实就是dword ptr ss: 的值
因此我们可以将
004192CC   .8B55 A8       mov edx,dword ptr ss:改成:
004192CC   .8B55 A8       mov edx,dword ptr ss:
也能达到爆破的目的。
               

大家试试有兴趣的可以自行分析算法。
PS:大家不太感兴趣算法,我以后就不讲算法了,也比较抽象,对初学者不太容易上手

当然 还可以修改很多地方也能实现不修改跳转爆破,请读者自己思考。
这个够详细了吧   不懂的回帖问我就好了,乐意解答
24号就实习去了,,,,,,9月回来- -
伤不起~大家加油!





小雨细无声 发表于 2013-6-21 12:05

感谢大神分享!

淡然出尘 发表于 2013-6-21 12:16

其实有时候 虽然不能直接将JZ改为JMP
但是可以通过更改该行的二进制值的方法..{:301_998:}.

Ericky 发表于 2013-6-21 12:21

淡然出尘 发表于 2013-6-21 12:16 static/image/common/back.gif
其实有时候 虽然不能直接将JZ改为JMP
但是可以通过更改该行的二进制值的方法...

你说的是改ZF 么?

1354669803 发表于 2013-6-21 12:21

其实cmp不行还是可以mov的

侏罗纪 发表于 2013-6-21 12:26

膜拜大牛!!!

Ericky 发表于 2013-6-21 12:30

1354669803 发表于 2013-6-21 12:21 static/image/common/back.gif
其实cmp不行还是可以mov的

MOV 不好改了EAX的值

1354669803 发表于 2013-6-21 12:34

PoJie_小雨 发表于 2013-6-21 12:30 static/image/common/back.gif
MOV 不好改了EAX的值

好不好这怎么说呢 反正应用的好就好

Ericky 发表于 2013-6-21 12:36

1354669803 发表于 2013-6-21 12:34 static/image/common/back.gif
好不好这怎么说呢 反正应用的好就好

不是我是说不够完美,要是EAX 刚好是关键值下面的程序会出错

sheepccoco 发表于 2013-6-21 12:36

感谢分享!
页: [1] 2 3 4 5 6 7 8 9
查看完整版本: 【爆破的艺术】不直接修改跳转的爆破 2013.6.21