乾坤大挪移VprotectDemo.2.0.9脱壳之处理antidump
最近比较忙不会像上次放国庆那样有时间弄了,VprotectDemo.2.0.9的内存随机校检变得非常非常的强悍,不能像上次 Vprotect Demo 2.0.4 patch虚拟机那样简单了。
关于脱壳请http://www.unpack.cn/thread-70263-1-1.html的脚本。
如果程序SDK了代码并加了壳,脚本脱完壳修复好IAT之后,程序在本机和本机的虚拟机跑是没有任何问题的,一但换了机器程序就跑不起来了这可能就是VprotectDemo.2.0.9 anti dump,下面主要介绍如何绕过crc32内存校验并patch CPUID来处理anti dump的。
一.乾坤大挪移之patch CRCHandler绕过crc32的内存校验.
1.LordPE载入修复好IAT后的程序,依次选择区段 -> 一般选择RawSize最大的区段可能就是虚拟机区段了,如果不确认区段请在程序中找,保存区段到磁盘。
然后选择从磁盘中载入我们刚才保存的区段,这样子就在程序的区段后面添加了一个镜像区段。计算好一个偏移地址:AD5000 = 010C8000(新添加的镜像区段虚拟地址) -005F3000(虚拟机起始虚拟地址),注意是VA不是RAV。
2.OD载入修复好IAT后的程序,在反汇编窗口中打开有虚拟机代码的区段,查找所有命令:MOV ESI,DWORD PTR DS:[EDI+30] ,确定之后弹出8个crc32 handler,这8个handler代码的功能一模一样,再往上拉不要超过retn指令找到MOV EAX,DWORD PTR SS:[EBP] 就是CRC32Handler开始的地方了,分别找到所有的crc32 handler起始的位置。然后将剩下的7个起始位置修改为JMP到其中一个crc32 handler起始位置,这样做是好集中patch。
3.在其中的crc32 handler开始位置修改代码如下:
二进制代码:
注意:上传附件及图片大小不得大于30M。
⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途。
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。
