Enigma脱壳、Enigma过注册各个版本总结
一,Enigma壳的识别:
区段特征:
推荐一款识别率超高的enigma识别软件:
EnigmaInfo.exe
这软件我跟其它文件放在一起在CSDN中供下载。
一,Enigma脱壳:
1,OEP查找:
这种方法就不说了,各种编译器特征码,敏感API都可以实现,基本上Enigma都是通过jmp eax到达OEP的。
2,bypass crc:
在跟踪过程中,先把CRC给bypass了,这样下断或inline patch就简单了。
如上图,所有的enigma版本的CRC都是一样的,把灰色部分NOP掉即可。
2,修复IAT Redirection
只要把以上灰色部分给NOP掉即可强制不使用IAT Redirection,跟踪方法一般是通过看IAT什么时候被Redirection来定位具体代码位置(通过搜索FF 25等方法)。
3,阻止API Emulation
注意上面的TEST EDI,20的关键字,通常可以用来定位API Emulation。 把灰色部分NOP掉即可阻止API Emulation。
4,Fix Data Relocation等。
这个东西根据实际情况修复即可。
二,Inline patch HWID过Enigma注册.
在一些比较复杂的情况下,比如说软件大量使用SDK,或者不需要脱壳只需要过注册即可,那么脱壳就无必要,只要Inline patch就足够满足要求了。
由于图片较多,我把其具体过程都放在附件中供下载分析,这里就列个目录:
(一),找到Inline patch 地址
1,下内存写入断点。
2,中断解码过程。
3,存为DLL文件,找到EP_RegHardwareID。
4,最终地址:MOV EAX,DWORD PTR DS:[EDI]
(二),Inline Patch hwid 思路以及模板制作
1,Inline Patch 思路。
2,patch 代码解析。
下载地址:
http://download.csdn.net/detail/eidolon8/8794805
内含文件:
过Enigma注册 inline patch详解.pdf
Inline Hook GetModuleHandleA for enigma.exe (过Enigma注册的模板工具,可利用来快速做各种Enigma版本的补丁)
EnigmaInfo.exe (探测Enigma壳版本的最好工具,准确率高)
NOTEPAD_protected.EXE 该文例子
enigma script.txt 该文过enigma注册的脚本
原文转自:http://blog.csdn.net/zhw309/article/details/7645694