SFX自动脱壳
OD还有这么一个功能,以前一直不知道。虽然步骤很简单,但是原理网上却不见有讨论,似乎只能脱一些压缩壳。
使用SFX自动脱壳法脱壳的常见步骤:
将OD设置为忽略所有异常;
在OD的“调试选项”对话框的“SFX”选项卡中选择“字节模式跟踪实际入口”选项并确定;
将待脱壳程序载入OD,待程序载入完成后,会直接停在OEP处。
测试了一下ASPACK,结果可行,OD会自动停留在OEP!本次脱壳完成后记得把OD的SFX设置改回去!
0100739D . 6A 70 push 70 ; SFX 代码真正入口点
0100739F . 68 98180001 push 01001898
010073A4 . E8 BF010000 call 01007568
010073A9 . 33DB xor ebx, ebx
010073AB . 53 push ebx ; /pModule => NULL
010073AC . 8B3D CC100001 mov edi, dword ptr [10010CC] ; |kernel32.GetModuleHandleA
010073B2 . FFD7 call edi ; \GetModuleHandleA