以前分析过一个壳的源码就是用异常到达OEP的(而不是单纯jmp到oep)
今天脱的这个PEtite 2.2用普通的方法(内存断点,ESP定律等)似乎都无法跟到OEP
这种情况下可以尝试异常法,就是说这个壳在某个位置触发一个异常,让你的程序跟不下去,解决方法也很简单就是到那个异常里面下一个断点然后跟着异常处理程序走一段就发现跳转到OEP的位置了
OD选项中不忽略任何异常
Shift+F9三次之后程序跑起来
重载程序,Shift+F9两次
OD菜单-查看-SEH链,在第一项上放置一个F2断点
Shift+F9运行程序 断到以下代码:
00405B0E 33C0 xor eax, eax
00405B10 64:8B18 mov ebx, dword ptr fs:[eax]
00405B13 8B1B mov ebx, dword ptr [ebx]
00405B15 8D63 AE lea esp, dword ptr [ebx-52]
00405B18 61 popad
00