-
-
[求助]最后一次异常法脱壳疑问请教
-
发表于:
2011-3-14 20:23
4980
-
最后一次异常法
1:用OD打开软件
2:点击选项——调试选项——异常,把里面的√全部去掉!CTRL+F2重载下程序
3:一开始程序就是一个跳转,在这里我们按SHIFT+F9,直到程序运行,记下从开始按SHIFT+F9到程序运行的次数m!
4:CTRL+F2重载程序,按SHIFT+F9(这次按的次数为程序运行的次数m-1次)
5:在OD的右下角我们看见有一个"SE 句柄",这时我们按CTRL+G,输入SE 句柄前的地址!
6:按F2下断点!然后按SHIFT+F9来到断点处!
7:去掉断点,按F8慢慢向下走!
8:到达程序的OEP!
我在操作的时候:
0040CCD2 4B dec ebx ; 停在这里了,这里就要用CTRL+G来跳到SE处理程序的位置:0040CCD7
0040CCD3 6F outs dx, dword ptr es:[edi] ; //如果我按了一次F8,到这里了再CTRL+G跳,再往下走就不行,为什么?
0040CCD4 6368 69 arpl word ptr [eax+69], bp ;如果不用shift+F9这里过不了...
0040CCD7 8B4424 04 mov eax, dword ptr [esp+4]
0040CCDB 8B00 mov eax, dword ptr [eax];//这里的eax值不一样
0040CCDD 3D 04000080 cmp eax, 80000004
请问?为什么?知道原理的帮忙解释下,谢谢!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)