Shark_鹏 发表于 2015-3-22 23:02

高清图文 爆破高效e人

首先用PEID查壳

Delphi写的,无壳,(PS:这年头无壳国产软件已经太少见了)
好!载入OD,运行,没有提示压缩代码,软件一上来就有一个NAG窗口



正好作为突破点,姓名和注册码都输入 1 ,点击确定   



一看就是MessageBox窗口
查找字符串,没有发现什么有用东西。
好!我换一个方式,用F12暂停法,然后点击OD上的K查看堆栈调用,



双击 倒数第三个调用MessageBoxA 的跳转,来到这里



双击Jmp跳转,来到这里



发现这里不是程序领空;
F2段首下断点,然后运行,依然用户名和注册码输入 1; 点击注册,好!我们断下了




右下角堆栈窗口有返回CAll,右键-反汇编窗口中跟随(记得把断点取消掉)




来到这里之后,就寻思上面是否有跳过这个MessageBox的,很遗憾,都没有,我们可以断定这是个子CAll,继续段首下断点,运行。。。。。。。。。。。
之后我们成功断了下来



反汇编窗口中跟随 堆栈 窗口中的返回 然后往上找是否有跳过这里的条件跳转,


成功找到了,




下断点 运行 注册      好!再次成功断了下来,尝试改变ZF标志位让它
跳转已实现,运行
哈哈,成功了???



没那么容易,进入程序后,,神马都没有改变,还是未注册




这里让我难住了好久,突然想到关键跳测试的是al是否不为零,不为零则跳,进入关键Call看下的代码是谁改变了al



看到本地调用了吗?没错,我们可以猜想到其它组建查看注册也许就是这个Call
尝试下
段首直接 MOV al,1   
下一句就 ret
右键复制所有修改,运行

终于注册成功了!!!






到此FZPJ完毕   记住我们论坛域名:www.xuepojie.com

虚竹 发表于 2015-3-22 23:29

好牛逼!还可以!详细!

Bei_eec 发表于 2015-3-23 05:09

怎么这么眼熟。。。。

Bei_eec 发表于 2015-3-23 05:09

https://www.52hb.com/thread-6924-1-1.html

Scar-疤痕 发表于 2015-3-23 07:02

好详细的教程,辛苦了

东子郭 发表于 2015-3-23 09:48

真详细,顶你

有何不可 发表于 2015-3-23 10:16

支持大神   

闪耀 发表于 2015-3-23 19:31

楼主转载我们论坛的帖子不好吧

timethinking 发表于 2015-3-23 21:22

非常详细啊,牛人,感谢分享

沙欧 发表于 2015-3-23 22:11

比较详细,谢谢lz
页: [1] 2 3
查看完整版本: 高清图文 爆破高效e人