-
-
The Enigma Protector 脱壳有办法减小一下体积吗 ?
-
发表于:
2012-3-8 20:05
12706
-
The Enigma Protector 脱壳有办法减小一下体积吗 ?
首先,自己对照了一下,自己加壳的情况,程序如果是最大保护(几乎)时 ( TEP 3.5 版本 ) ,不止 VM 了整个入口 (这点好办) ,关键是把对应的功能代码放入了 TEP 的虚拟机跑
入口混乱了(其实这倒是不重要,它每次都会在 VM_RETN 处返回到了相应的源代码处,那么就是说调用函数过程都能轻易找到)
现在处理入口过程很容易,在入口处基本可以猜到是什么语言生成的,去复制一个头部过来,
然后就在 vm_retn 处下个记录断点,跑完就可以把记录下来的地址填充一下对应的入口代码, OEP 就补完了,这样程序就跑起来,
这个时候剪掉壳的代码段,程序脱壳优化后,体积比源程序还小一点(心里有点爽)
可是还有功能代码,这个就不好猜了,从 vm_retn 处得到调用的函数,过程代码在 vm 里,如果短一点的可以补回去,如果长了,这可是体力活。
ok ,省点体力,那就把相应的区段补上,这个时候坑爹的事情出现了,一个程序补完 5.5 M
想知道有好一点的方法吗,知道的大牛提示一下,谢谢
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)