查看原文
其他

一种快速过VMP3.x调试器虚拟机检测的方法

2018-04-16 hkfans 看雪学院

VMP3.x 以上的版本的壳代码引入了一个标志位数值 Flags, 根据这个Flags值的位执行对应的事情。 


比如:

and 2 = 2 表示检测用户层调试器

and 4 = 4 表示检测内核调试器

and 10 = 10 表示检测虚拟机


只要将这个值修改为0,调试器和虚拟机检测甚至内存校验,文件校验都直接bypass。( ps: 写了这么多壳代码就这么简单就过了:)


那么现在的问题是如何快速定位到这个值。这里介绍一种比较简单快速的方法,测试了几个程序都有效。


如下图:




1. 首先下断点到LocalAlloc


2. 中断下来后,在数据窗口CTRL+G输入ESP, 然后从这个地址开始搜索 当前模块加载基地址 如这里的 011C0000 


不过这里为了保险,防止搜索到多个结果,应该搜索 模块默认加载基地址 + 模块当前加载基地址 组合起来的8个字节


如图中的: 00400000 + 011C0000


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






本文由看雪论坛 hkfans 原创

转载请注明来自看雪社区



往期热门阅读:




点击阅读原文/read,

更多干货等着你~

扫描二维码关注我们,更多干货等你来拿!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存