吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 18061|回复: 82
收起左侧

[原创] 【爆破的艺术】不直接修改跳转的爆破 2013.6.21

  [复制链接]
Ericky 发表于 2013-6-21 12:02
本帖最后由 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
来到关键代码段。
1.png

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

2.png

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分析:

3.png
00404034  /$  53            push ebx
00404035  |.  56            push esi
00404036  |.  57            push edi
;保护现场
4.png
注意下面的那条CMP
他是可以改变ZF的
0040403B  |.  39D0          cmp eax,edx
将EDX 与EAX 对比  相同则成功,否则将失败
因此 我们只需将edx改成eax
就可爆破成功
5.png
3.当然,既然是将edx与eax相比较的话
我们也可以找找之前有那些语句给它们赋值
6.png
004192CC   .  8B55 A8       mov edx,dword ptr ss:[ebp-58]            ;  这条就是赋值给了EDX
004192CF   .  58            pop eax                                  ;  这条给EAX赋值
所以我们要找EAX的值是多少.
与POP对应的PUSH
所以我们要找PUSH EAX  找最近的那个
特别注意的是要  当中间代码段无其他入栈指令的时候
004192A6   .  8B45 AC       mov eax,dword ptr ss:[ebp-54]
004192A9   .  50            push eax
我们找到了
EAX的值其实就是dword ptr ss:[ebp-54] 的值
因此我们可以将
004192CC   .  8B55 A8       mov edx,dword ptr ss:[ebp-58]  改成:
004192CC   .  8B55 A8       mov edx,dword ptr ss:[ebp-54]
也能达到爆破的目的。
               

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

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





【爆破的艺术】初学者必学 2013.6.21.zip

151.43 KB, 下载次数: 94, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 5热心值 +5 收起 理由
qiusuo + 1 我很赞同!
admiz + 1 我很赞同!
小糊涂虫 + 1 欢迎分析讨论交流,[吾爱破解论坛]有你更精.
Shark恒 + 1 对新手有极大帮助!
小雨细无声 + 1 谢谢提供分享!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

小雨细无声 发表于 2013-6-21 12:05
感谢大神分享!
淡然出尘 发表于 2013-6-21 12:16
其实有时候 虽然不能直接将JZ改为JMP
但是可以通过更改该行的二进制值的方法...

点评

蛋燃牛。你好。  发表于 2013-6-21 12:27
 楼主| Ericky 发表于 2013-6-21 12:21
淡然出尘 发表于 2013-6-21 12:16
其实有时候 虽然不能直接将JZ改为JMP
但是可以通过更改该行的二进制值的方法...

你说的是改ZF 么?

点评

HEX数据...  发表于 2013-6-21 12:28
HEX数据..  发表于 2013-6-21 12:23
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
其实cmp不行还是可以mov的

MOV 不好  改了EAX的值
1354669803 发表于 2013-6-21 12:34
PoJie_小雨 发表于 2013-6-21 12:30
MOV 不好  改了EAX的值

好不好这怎么说呢 反正应用的好就好
 楼主| Ericky 发表于 2013-6-21 12:36
1354669803 发表于 2013-6-21 12:34
好不好这怎么说呢 反正应用的好就好

不是  我是说不够完美,要是EAX 刚好是关键值  下面的程序会出错  
sheepccoco 发表于 2013-6-21 12:36
感谢分享!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-18 03:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表