[DOC_CRACK]常见壳的脱法

------------------------------------------------------------------------------------------------- 

;;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的第二句.

 

你可能感兴趣的:(DOC)