别再被 VMProtect 盯上:3 步搞定 VMware 反虚拟机检测绕过
2026/8/24 2:49:48 网站建设 项目流程

别再被 VMProtect 盯上:3 步搞定 VMware 反虚拟机检测绕过

【免费下载链接】VmwareHardenedLoaderVmware Hardened VM detection mitigation loader (anti anti-vm)项目地址: https://gitcode.com/gh_mirrors/vm/VmwareHardenedLoader

VMProtect、Safengine、Themida 会读 CPUID、SMBIOS、MAC 前缀和 VMware 后门指令认出虚拟机,命中就弹窗、拒绝运行甚至崩溃。VmwareHardenedLoader 的内核驱动在运行时给 SystemFirmwareTable 打补丁,抹掉 "VMware""Virtual" 等特征串,让虚拟机骗过反虚拟机检测。

动手前自查:4 个硬前提

项目要求不满足的后果
客户机系统Windows Vista~Win10,仅 x64x86 不支持,驱动无法加载
编译器Visual Studio 2015 或 2017工程打不开、编译报错
驱动组件Windows Driver Kit 10缺内核头文件,编译中断
编译配置只选 x64/Release其他配置无可用产出
远程方式TeamViewer / mstsc,别装 VMware Tools后门痕迹全部重来

一条龙落地:编译 → 签名 → 调优 → 验证

编译 vmloader.sys 并做测试签名

git clone https://gitcode.com/gh_mirrors/vm/VmwareHardenedLoader,用 VS 打开VmLoader.sln,选 x64/Release 生成,产出在bin/vmloader.sys

这里最容易翻车:驱动要过系统签名校验,必须做测试签名(测试签名是 Windows 允许加载非微软签名驱动的特殊模式)。用测试证书signtool sign签一下,再执行bcdedit /set testsigning on并重启。预期:签名无报错,桌面右下角出现"测试模式"水印。

VMware 反检测 .vmx 参数配置

.vmx 是虚拟机的纯文本配置文件,改完必须重启虚拟机才生效。先关机,用文本编辑器打开 .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"

reflectHost 系列参数是把宿主机的真实主板、型号、序列号、SMBIOS 反映给客户机,查询结果就不再露出虚拟字样。系统盘挂在 scsi0 槽位的话,顺手改掉 SCSI 盘的产品/厂商 ID:

scsi0:0.productID = "Tencent SSD" scsi0:0.vendorID = "Tencent"

预期:开机后在客户机里查主板、序列号,显示宿主机真值,查不到 VMware 字样。

虚拟机 MAC 地址改法 + 加载驱动验证

MAC 是第三个泄露点。VMware 默认分给虚拟网卡的 MAC 前缀(00:05:69、00:0C:29、00:1C:14、00:50:56)都是 VMware 的 OUI,一眼被反虚拟机检测识破。直接在 .vmx 里覆盖最稳:

ethernet0.address = "00:11:56:20:D2:E8"

改完这一步再跑一次:开机,以客户机管理员身份执行 install.bat 加载驱动。预期 ✅:服务启动无报错;再跑一个 VMProtect 3.2 的 anti-vm 测试程序,能正常打开、不再弹窗。驱动核心逻辑可看 VmLoader/ 下的 main.cpp。

仍被检测时的排查表:症状 → 可能原因 → 处理动作

症状可能原因处理动作
CPUID 探测仍命中,判为虚拟机hypervisor.cpuid.v0 没加,或 .vmx 改完没重启补上参数,冷启动虚拟机
磁盘信息显示 VMware 虚拟盘scsi0 槽位没改 productID/vendorID补两行 SCSI 参数
MAC 仍是 00:05:69 等默认前缀GUI 设置被 .vmx 覆盖或未生效用 ethernet0.address 写死随机 MAC
驱动服务启动失败vmloader.sys 没测试签名,或 testsigning 没开重新 signtool 签名,开 testsigning
装完仍被 Themida 识别VMware Tools 把后门又打开了卸载 Tools,远程改用 mstsc

参数速查表与 3 个高频坑

参数作用建议值
hypervisor.cpuid.v0隐藏 CPUID 里的 VMware 特性位"FALSE"
board-id / hw.model / serialNumber / smbios 的 .reflectHost反映宿主机真实硬件信息"TRUE"
SMBIOS.noOEMStrings去掉 SMBIOS 里的 OEM 特征串"TRUE"
isolation.tools.*.disable切断 Tools 后门通信"TRUE"
monitor_control.disable_* / restrict_backdoor切断 monitor 后门指令"TRUE"
scsi0:0.productID / vendorID换 SCSI 盘型号与厂商任一真实产品型号
ethernet0.address覆盖默认 MAC无 VMware 前缀的随机 MAC

3 个最容易踩的坑,各一句话:

  • ⚠️ 别装 VMware Tools,它会把你刚封的后门全部重新打开。
  • ⚠️ 测试签名别省,签名和 testsigning 缺一不可,否则驱动根本起不来。
  • ⚠️ 只认 x64/Release 配置,x86 这条项目明确不支持。

【免费下载链接】VmwareHardenedLoaderVmware Hardened VM detection mitigation loader (anti anti-vm)项目地址: https://gitcode.com/gh_mirrors/vm/VmwareHardenedLoader

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询