吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 983|回复: 15
上一主题 下一主题
收起左侧

[原创] [深入]VMProtect3.9X以上版本过虚拟机检测教程

[复制链接]
跳转到指定楼层
楼主
R-R, 发表于 2026-5-11 16:14 回帖奖励
[0x00]
大家好,我是R-R,流水线的王_,今天在电子厂刚打完螺丝,下了早班,待会还要去上晚班,肚子好饿,打螺丝好累。
[0x01]
主要是对VMP3.9x以上的版本的虚拟机检测的一个教程。
[0x02]
这里借用了一个之前别人写的驱动,之前是在看雪上看到了的,写的非常好。
驱动下载地址 https://github.com/hzqst/VmwareHardenedLoader
驱动是通过拦截系统固件表(ACPI、RSMB、FIRM)的查询,实时擦除返回数据中的 "VMware""VMWARE""Virtual" 字符串,从而欺骗上层应用的反虚拟化检测。
驱动是采用DKOM的方式,直接定位并篡改内核中未导出的全局变量与链表节点内的函数指针。
因此相对来说很稳定,不会触发 PatchGuard。

[0x03]

驱动的使用方法
在vmx配置里添加如下配置


hypervisor.cpuid.v0 = "FALSE"

board-id.reflectHost = "TRUE"

hw.model.reflectHost = "TRUE"

serialNumber.reflectHost = "TRUE"

smbios.reflectHost = "TRUE"

SMBIOS.noOEMStrings = "TRUE"

isolation.tools.getPtrLocation.disable = "TRUE"

isolation.tools.setPtrLocation.disable = "TRUE"

isolation.tools.setVersion.disable = "TRUE"

isolation.tools.getVersion.disable = "TRUE"

monitor_control.disable_directexec = "TRUE"

monitor_control.disable_chksimd = "TRUE"

monitor_control.disable_ntreloc = "TRUE"

monitor_control.disable_selfmod = "TRUE"

monitor_control.disable_reloc = "TRUE"

monitor_control.disable_btinout = "TRUE"

monitor_control.disable_btmemspace = "TRUE"

monitor_control.disable_btpriv = "TRUE"

monitor_control.disable_btseg = "TRUE"

monitor_control.restrict_backdoor = "TRUE"

修改配置之后,开启虚拟机,加载Bin文件夹的驱动即可过掉VMP的虚拟机检测。

由于VMP的更新针对了此驱动,导致此驱动用来反虚拟机检测停留在了3.5的版本,以上的版本全部失效。

[0x04]

之后由于3.94的泄漏版出来了,我和我的天才程序员好友拿到了VMP最新版的Win32runtime.dll,
是的,你没听错,是runtime.dll ,直接让VMP“裸奔”了。

言归正传,至于这个驱动为什么被检测。

我们看下图,



这段代码在擦除虚拟机痕迹的时候,把所有的检测字符串改成用7来进行了填充。

狡猾的VMP在新版的虚拟机检测中加上了针对“7”的检测。

可是那又怎么样呢,我把他改成了8,重新编译了下,就饶过了。

是的,你没看错,你们只需要下载这个驱动代码,装上SDK&WDK,找到如图代码,把7->8 编译后按上面的教程做一遍即可。

[0x05]

教程就到这里,感谢

https://github.com/hzqst/VmwareHardenedLoader
提供的驱动和代码。

[0x06]

我是流水线的王_

我的其他教程

【详细讲解x64dbg配置MCP实现Ai自动化分析代码】 https://www.bilibili.com/video/B ... 6de514ce3fcda0a2c12
【x64VMProtect通过Pcode绕过授权代码锁】 https://www.bilibili.com/video/B ... 6de514ce3fcda0a2c12
【VMProtect3.9以上过反调试教程】 https://www.bilibili.com/video/B ... 6de514ce3fcda0a2c12
[0x07]
@VMProtect


[0x08]
肚子好饿,带带我吧。

免费评分

参与人数 4威望 +1 吾爱币 +26 热心值 +3 收起 理由
andyle + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
GDExecW + 1 我很赞同!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
忆魂丶天雷 + 3 + 1 用心讨论,共获提升!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
 楼主| R-R, 发表于 2026-5-11 19:17 |楼主
本帖最后由 R-R, 于 2026-5-11 19:19 编辑
Hmily 发表于 2026-5-11 18:05
咦,这个视频的地址了?

另外可以给@hzqst 提交一下检测方式。

新版检测只是单纯的对他的驱动做了个检测,只需要把他驱动的7改成其他字符就可以绕过VMP最新版的检测了,所以只是做了个文图教程,没录制视频。
推荐
flybird2007 发表于 2026-5-11 18:47
代码在擦除虚拟机痕迹的时候,如把所有的检测字符串改成用随机字符来进行了填充, 是不是就不会被后面版本的VMP检测到了
沙发
我爱胡萝卜 发表于 2026-5-11 16:27
3#
Hmily 发表于 2026-5-11 18:05
咦,这个视频的地址了?

另外可以给@hzqst 提交一下检测方式。
4#
hszt 发表于 2026-5-11 18:08
厉害厉害,拿到新版本Win32runtime.dll。这vmp检测这些都可以看到原理,什么时候打完螺丝能看看这个裸奔的dll就好了
6#
flea033 发表于 2026-5-11 18:48
感谢分享!
8#
 楼主| R-R, 发表于 2026-5-11 19:21 |楼主
flybird2007 发表于 2026-5-11 18:47
代码在擦除虚拟机痕迹的时候,如把所有的检测字符串改成用随机字符来进行了填充, 是不是就不会被后面版本 ...

是的,按第四步操作即可
9#
Henglie 发表于 2026-5-11 21:00
改成7是什么道理?这就是草台班子吗?
以后这个驱动是不是可以实时拦截改成正常的硬件信息呢?
10#
bl5201314 发表于 2026-5-12 00:05
感谢楼主分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-5-13 03:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表