Blog

与某垃圾游戏的抗争 - 在虚拟机中运行“原神”

发布时间: ,大约 300 字 ,阅读时间:2 分钟,

原神(下称“某垃圾游戏”)是一款中国的手游公司开发的游戏。它的风控一直都是非常恶心人的。 之前没时间懒得管,春节假期无事可做,自然就得来管管某垃圾游戏窃取数据了。

这里使用了 VMware Workstation 实现。

Step 0: 安装虚拟机系统

安装虚拟机系统相当简单,这里就不再阐述了。但是需要注意一点:不能安装 VMware Tools。

建议安装 Windows 10 系统,因为自动更新能自动下载驱动。

Step 1: 添加配置到 VMX 文件中,pass 掉 VMProtect 的虚拟机验证

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 = "FALSE"
hw.model.reflectHost = "FALSE"
hw.model = "BLAHBLAH"
board-id.reflectHost = "FALSE"
board-id = "BLAHBLAH"
serialNumber.reflectHost = "FALSE"
serialNumber = "BLAHBLAHBLAH"
smbios.reflectHost = "TRUE"
smbios.noOEMStrings = "TRUE"
scsi0:0.productID = "WD10EZEX"
scsi0:0.vendorID = "WDC"

以上配置在虚拟机关机状态下添加到最后一行就可以了。 配置文件里面的 BLAHBLAH 建议自行修改,随便填什么都可以。

Step 2: 修改显卡驱动程序,将含有 VMware 的设备更换为通用驱动

modify-graphics-card-name.png

如图所示,将备份出来的 vm3d.inf 最后 3 行直接改掉就可以了。 可以随便改成你喜欢的显卡型号。改完以后的驱动是没有数字签名的,所以还需要禁止 Windows 的驱动签名认证才能安装。

如果懒得改的话,可以 直接下载 我改好的驱动。

另外还需要注意一点:设备管理器里面很多设备是包含 VMware 字符串的,需要把这些设备的驱动替换成通用驱动(比如鼠标和键盘)或者直接卸载掉。

至此,大部分虚拟机特征应当被隐藏了,可以下载这个工具GitHub 源)检测一下。

在我提供的压缩包里面有一个 .vmp.exe 的文件,是用 VMProtect DEMO 做的 Anti-VM 的 Demo,可以拿它直接测试能不能过 VMProtect,不需要安装那超过 10G 的游戏。

最终的检测结果应当是这样的:

vm-detect-passed.png

Step 3: 禁用 Windows 的驱动程序签名认证,安装修改后的显卡驱动

第一步:打开系统设置,搜索“更改高级启动选项”

step-1

第二步:点击高级启动下的“立即重新启动”

step-2

第三步:稍等一阵以后出现几个选项,点击“疑难解答”

step-3

第四步:点击“高级选项”

step-4

第五步:点击“启动设置”

step-5

第六步:点击“重启”

step-6

第七步:按下键盘的数字“7”或者功能键“F7”,临时禁用驱动强制签名

step-7

至此,驱动强制签名认证已经临时禁用了,进入系统以后直接在设备管理器中更新修改好的驱动就可以了。

Step 4: 安装火绒,添加自定义防护规则禁止某垃圾游戏读取硬件信息及敏感资料。

规则类型 规则 发起程序 保护动作 说明
文件规则 C:\Windows\System32\tasklist.exe C:\Program Files\Genshin Impact\* 创建、读取、修改、删除、执行 某垃圾游戏会频繁通过这里读取后台程序列表
注册表规则 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\PCI C:\Program Files\Genshin Impact\* 创建、读取、修改、删除 某垃圾游戏会读取这里检测是否有虚拟机硬件
注册表规则 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video C:\Program Files\Genshin Impact\* 创建、读取、修改、删除 某垃圾游戏会读取这里检测是否有虚拟机硬件
注册表规则 HKEY_LOCAL_MACHINE\HARDWARE C:\Program Files\Genshin Impact\* 创建、读取、修改、删除 某垃圾游戏会读取这里检测是否有虚拟机硬件
注册表规则 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\PCI C:\Program Files\Genshin Impact\Genshin Impact Game\YuanShen.exe 创建、读取、修改、删除 火绒有问题,通配符对这个进程不起作用,需要添加这条规则
注册表规则 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Video C:\Program Files\Genshin Impact\Genshin Impact Game\YuanShen.exe 创建、读取、修改、删除 火绒有问题,通配符对这个进程不起作用,需要添加这条规则
注册表规则 HKEY_LOCAL_MACHINE\HARDWARE C:\Program Files\Genshin Impact\Genshin Impact Game\YuanShen.exe 创建、读取、修改、删除 火绒有问题,通配符对这个进程不起作用,需要添加这条规则

Step 5: 运行游戏

做到这里,已经可以在虚拟机里面运行了。但是虚拟机的显卡还是有很大问题,比如帧率非常低,画面变色。看上去还是得直通一张显卡进去才能正常工作,但是 VMware Workstation 并没有这个功能,所以这篇文章就到此结束了。

finally.jpg


License

如未明确声明,所有文章皆以

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。如果您需要商用,您可以通过电子邮件( [email protected] )联系。