admin 发表于 2018-5-11 14:46:44

过vmp3.x的虚拟机和调试器检测

转自看雪论坛

VMP3.x 以上的版本的壳代码引入了一个标志位数值 Flags, 根据这个Flags值的位执行对应的事情。
比如:
and 2 = 2 表示检测用户层调试器
and 4 = 4 表示检测内核调试器

and 10 = 10 表示检测虚拟机

只要将这个值修改为0,调试器和虚拟机检测甚至内存校验,文件校验都直接bypass.( ps: 写了这么多壳代码就这么简单就过了:)
那么现在的问题是如何快速定位到这个值。这里介绍一种比较简单快速的方法,测试了几个程序都有效。

如下图:

https://bbs.pediy.com/upload/attach/201804/191670_YZS7UYD79Q6EGZ6.png


1. 首先下断点到LocalAlloc

2. 中断下来后,在数据窗口CTRL+G输入ESP, 然后从这个地址开始搜索 当前模块加载基地址 如这里的 011C0000
    不过这里为了保险,防止搜索到多个结果,应该搜索 模块默认加载基地址 + 模块当前加载基地址 组合起来的8个字节
   如图中的: 00400000 + 011C0000

3. 找到后修改下面的那个值为0即可, 如图中箭头所指。

===================================================================================
以上是原理,还在别的论坛找到了一键处理工具 分享给大家

在LocalAlloc断下以后 打开工具输入进程名就可以处理了













ziyoulang168 发表于 2018-5-11 14:51:41

感谢师傅分享
页: [1]
查看完整版本: 过vmp3.x的虚拟机和调试器检测