高清图文 爆破高效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
好牛逼!还可以!详细!
怎么这么眼熟。。。。
https://www.52hb.com/thread-6924-1-1.html
好详细的教程,辛苦了
真详细,顶你
支持大神
楼主转载我们论坛的帖子不好吧
非常详细啊,牛人,感谢分享
比较详细,谢谢lz