好友
阅读权限10
听众
最后登录1970-1-1
|
lufei
发表于 2017-4-15 23:30
本帖最后由 lufei 于 2017-4-15 23:35 编辑
内存法最为主要的是要知道oep,在哪个区段,不然内存法就瞎了。找oep在哪个区段(不一定会在.text段),就搜索字符串,看在哪个区段引用。oep就在哪个区段,有时候你可能搜索不到字符串的引用(这个笔记的第二个列子就遇到这种情况)。下面第一个例子直接在.text段搜索到字符串的引用,所以判定oep在.text段。
http://www.52pojie.cn/thread-12135-1-1.html(脱壳样本)
在资源段F2,后F9。
1.1
然后在.text段下断点,然后F9。
1.2
1.3
来到00B931AC 8B11 mov edx,dword ptr ds:[ecx] 。并不是我们期待的401000这个区段的内容。因为ecx是在401000这个区段的,所以断在这里。
再到.text设置访问断点。直接到达OEP。
1.4
再来一个复杂一点的。
http://www.52pojie.cn/thread-12822-1-1.html(吾爱专题脱壳练习十九----PUNiSHER 1.5)
首先这个是无法直接搜索到引用字符串的语句的,所以需要先F9,让字符串解压出来,找到字符串的位置。
1.5
1.6
那就在403000 下断点。
1.7
这个是异常,然后F9继续,达到断点。
1.8
这个时候,就需要多单步几下,直到跳过对403000的解密。或者在其他段下断点(比如401000),当断点中断在这里的时候,403000就完成了解密。这时候程序还是没有跑起来的,就对字符串的位置下硬件访问断点,然后让程序跑起来,按下 ”吾爱破解论坛“ 的按钮,ALT+F9返回到程序领空,断在40122D上。所以OEP就在401000这个段上。
(这里对api下断点,找OEP在哪个区段是可以的,只是一种手法)
接下来就在403000这个区段进行下断点,F9跳过异常后再F9达到断点。再到401000这个区段进行下段,然后F9。(这期间关注403000这个区段是否完成解密)
1.9
这个时候发现403000已经完成了解密。而402000这个区段还没完成解密。(结合 笔记之寻找特征来寻找OEP,对比区段的情况)
然后就在402000下断点。中断后,再到401000这个区段下断点。然后三次F9后来到下图。
2.0
单步走几步就到了OEP了。
2.1
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|