niuniu919 发表于 2015-6-29 19:07

新手上路第五战——esp定律脱壳及修复

新手上路第四战:http://www.52pojie.cn/thread-377603-1-1.html
      在上次发的帖子里,破解这个软件时,查壳发现是upx壳。当时为了方便,偷懒使用了脱壳机。然而总觉的这样不太完美,于是今天又学了学手动脱壳,分别使用了单步跟踪法、esp定律法和直接到达oep法。单步跟踪法不方便图片记录,所以只记录了一下esp定律法脱壳过程,脱壳后软件无法运行,又进行了修复。在此和像我一样的新手共同学习探讨。诚请各位前辈莫笑。。。。。。


首先查壳,显示是upx壳。




od载入



f8单步一次



观察寄存器中esp的值



在od的命令行dd这个值



在这一地址下断






下好断点后f9运行



在刚才下的断点处停了下来,在处要注意先删一下这个断点。



f8单步向下走几下,注意这里有个向上的跳转。脱壳过程不能让它向上跳,所以f4向下运行。


很快到到oep



在oep处右键,脱壳调试进程,注册记录下修正的入口点地址。


脱壳成功!!!!!


但是高兴的有点早,脱壳后软件无法运行,需要进一步修复。












修复后软件完美运行。
破解的道路上,脱壳的第一个软件。


一点点疑惑。如果能有幸被前辈看到这个帖子,望指点一二。
手机脱壳后和脱壳机脱壳,都是一样的效果,但是脱壳机脱壳后,软件就无壳了,然而手动脱upx后,显示还有一层穿山甲,可是od载入好像又没有壳了,难道是个假壳。




好了,先写到这吧,等待7月4日的到来。。。。。。







Hmily 发表于 2015-7-3 16:01

为啥会识别出穿山甲可能的原因是手脱里面还有壳的代码,加上VC的入口特征和穿山甲基本一样,估计被误报了。

niuniu919 发表于 2015-7-3 16:08

Hmily 发表于 2015-7-3 16:01
为啥会识别出穿山甲可能的原因是手脱里面还有壳的代码,加上VC的入口特征和穿山甲基本一样,估计被误报了。

感谢老大的热情指导。终于搞明白这个原因了。

fa00x 发表于 2015-7-3 19:40

本人也是新手,我唯一没有看懂的就是 192e4e 那里来的,oep地址是00592e4e?入口点地址修正是多少进制的?

niuniu919 发表于 2015-7-3 20:06

fa00x 发表于 2015-7-3 19:40
本人也是新手,我唯一没有看懂的就是 192e4e 那里来的,oep地址是00592e4e?入口点地址修正是多少进制的?

192e4e是用脱壳时od判断出来的,真正的入口需要修正的地址。16进制的。

fa00x 发表于 2015-7-3 22:08

niuniu919 发表于 2015-7-3 20:06
192e4e是用脱壳时od判断出来的,真正的入口需要修正的地址。16进制的。

我个人认为是92e4e 才是入口。有的时候修复的时候总找不对。愁
页: [1]
查看完整版本: 新手上路第五战——esp定律脱壳及修复