1.esp定律
步过pushad,esp寄存器下硬件断点,遇到jmp或者retn跳转到OEP
2.单步跟踪
一直F8步过遇到向上跳转的F4跳到当前位置,注意不要跑飞。
3.两次断点脱壳
1.OD载入程序,并打开【选项】-> 【调试选项】 -> 【异常】 -> 【忽略所有异常】。
2.不要运行程序,直接按下【Alt+ M】 切换到以下模块,选择.rsrc资源,并下一个【F2】断点。
3.接着按下【Shift+F9】,然后再次按下【ALT+M】,再次来到了这个位置,我们在【00401000】处下一个【F2】断点。
4.最后一次异常
自解压或自解密过程中, 可能会触发无数次的异常. 如果能定位到最后一次程序异常的位置, 可能就会很接近自动脱壳完成位置.
调试选项异常全部取消,【Shift+F9】定位到异常次数-1,看异常句柄单步调试。
5.SPX
调试选项->SFX->字节方式跟踪,然后查看左下角信息提示进度。时间效率比较慢。
6.模拟跟踪
OEP所在区段一般位于第一个区块处,而壳代码一般位于后几个区块
tc/toc命令是跟踪步进/步过 直到满足条件就暂停程序, toc eip < “SFX,输入表,资源”位置处的基地址。