(此系列脱文附件有兴趣才找我要吧,留言)
在UPK论坛下了一个密界精华,其实没看到有特别牛的东西,但是适合我等菜鸟,决定先把里面的脱壳示例中的程序脱一次,积累经验。
在我的脱文里,我会尽量将每一步的缘由说清楚,但如果你是基本反汇编,PE格式都不知道的就。。了
到OEP的方法:因为是压缩壳,跳转到OEP的方法多半是用jmp等跳转指令,所以单步跟踪即可
过程:
一直单步直到这个地方,你会发现如果想在004001DC上F4,程序会跑飞,所以到达OEP的代码一定在上面
而可能到达OEP的代码只可能是那个call和jmp,因为其他跳转指令都是近跳转。
改变程序流程使得call dword ptr [ebx+14]执行,发现程序没跑飞,也就是说jmp dword ptr [ebx+C]是到达OEP的地方
004001CA 8B07 mov eax, dword ptr [edi]
004001CC 40 inc eax
004001CD ^ 78 F3 js short 004001C2
004001CF 75 03 jnz short 004001D4
004001D1 FF63 0C jmp dword ptr [ebx+C]
004001D4 50 push eax
004001D5 55