|
发表于 2014-6-24 11:06:59
|
显示全部楼层
自己找了好久。
1. 查找,所有模块名称,IsDebuggerPresent
下断点:
7C813133 > 64:A1 18000000 mov eax, dword ptr fs:[18]
2. retn 后,是如下二个命令:
004186DA 8BBD 013C4000 mov edi, dword ptr [ebp+403C01]
004186E0 03BD 273C4000 add edi, dword ptr [ebp+403C27]
NOP,这二个命令。也就是恢复一个跳转命令。这样,IsDebuggerPresent就解决了!!!
2.
重点是以下,因为我是看小甲鱼视频开始学习脱壳的。小甲鱼一直强调,401000是代码段。所以,这是我的第一个误区。经过仔细看了Ctrl+M内存表后才发现的。
第二个误区,是dump时rebuild Imprt必须选择Method2(我也不知道什么原因,求大神解释。“在脱壳文件中,查找DLL和API名称。可能是因为这个壳把它们也修改了的原因吧!!!!”)
而我在想为什么明明OEP找到了, dump不行呢?这是我乱试出来的~!!!!!狂叹啊!!!
请各位,鉴定。谢谢!!!! |
|