-------------------------------------------------------------------------------------------------
;;FSG 2.0 -> bart/xt
单步到popad下面
堆栈里的LoadLibrary上面的地址就是入口地址
-------------------------------------------------------------------------------------------------
;;PEncrypt 3.1 Final -> junkcode
进入载入点第一个CALL,返回以后就是入口地址
-------------------------------------------------------------------------------------------------
;;Armadillo 3.78 - 4.xx -> Silicon Realms Toolworks (单进程标准壳)
首先忽略所有异常
下断bp GetModuleHandleA+5,shift+f9运行,直到堆栈看到ASCII "kernel32.dll"时取消断点后alt+f9返回.
把je改为jmp让跳转实现.然后跟随跳,在循环出口处下断点,f9运行.把刚才修改的jmp指令还原.
打开内存映射,在PE Header下面的段下访问断点.然后shift+f9运行程序.然后单步走,看到call ecx跟进去就是OEP了.
Dump出来以后把无效的IAT条目Cut掉.
-------------------------------------------------------------------------------------------------
;;PECompact 2.x -> Jeremy Collake
方法一:
载入以后直接跳转到mov到eax的地址下断.取消断点以后向下查找jmp eax指令下断,跟随jmp之后就是OEP
方法二:
载入后的第二句下硬件访问断点,F9 2次就到达OEP的第二句.