Denuvo (D加密) 并没有被破解!
是的,现在 MKDEV 确实研究出了方法可以直接玩到 D 加密游戏,但这不是破解,而是欺骗 Denuvo。
核心原理:Hypervisor 补丁
Denuvo 是通过内核读取硬件寄存器里面的 ID 去识别设备是否有正版授权,那么是否可以伪造这个 ID 呢?Hypervisor 补丁的原理其实就是分级保护域下的中间人攻击。
简单来讲就是补丁使用了 CPU 虚拟化技术把自己安装到了 Ring -1 层,凌驾于 Ring 0 内核层和 Denuvo 层之上而隐藏自己的存在,并提前通过 VMCS 配置了 VM Exit 中断指令。
当 Denuvo 想要查询 ID 时,CPU 会打断进程,告诉 Hypervisor 这个 Denuvo 开始查询硬件 ID 了。补丁会修改寄存器数据,并 VM Resume,提供一个有正版授权的设备 ID 给 Denuvo,Denuvo 就会放行并解密。
听起来很像 Rootkit 会干的事,但是用在了欺骗 Denuvo 上,Denuvo 自身完好无损,所以说是“Denuvo 被破解了”比较牵强。
使用门槛与巨大风险:
要用这个补丁,需要打开 SVM/VT-x,关闭 Secure Boot,允许未经签名的驱动,关闭 Windows 自己的 Hypervisor 服务 Hyper-V,安装 Hypervisor 驱动。你的电脑基本上签了卖身契把自己全权交给了补丁。
如果是 MKDEV 亲手发布的补丁那还是可以信任的,就怕有不怀好意的人说自己这有“破解补丁”,给你植入了 Rootkit 然后你还浑然不知!这就是我在担忧的。所以我不会发任何补丁文件。
最稳妥的方法是加入 MKDEV 的 Discord 服务器。也可以去 r/CrackWatch 的 Denuvo Hypervisor Workaround 板块寻找,然后去 cs.rin.ru 寻找补丁文件。
为什么区分 AMD 和 Intel? 因为这俩 CPU 的虚拟化指令集不一样,Hypervisor 补丁是给特定硬件写的。AMD 安全策略比较低,所以目前 AMD 的较多。MKDEV 团队 2 年前确实尝试过逆向 Denuvo 本体修改验证逻辑来破解,不过均宣告失败,所以只能按照特定游戏去劫持验证结果。EMPRESS 是直接把 Denuvo 从内存里面“拆了”来绕过。 这次的 Hypervisor 方法确实干开了全部 Denuvo 游戏,而且可以稳定运行。只要有人提供带正版授权的设备 ID(类似 Steam 正版账号共享),通过登录有正版授权的 Steam 账号来授权设备即可(Denuvo token 有效期只有一周)。
顺带一提我不知道为什么这么多人觉得这个补丁和初音那个游戏有关系,完全没有任何关系。不是初音泄露的驱动,这个驱动随便就能写出来,根本不需要泄露。