共计 3907 个字符,预计需要花费 10 分钟才能阅读完成。
附上成品截图 如图是在 Windows11 测试模式下运行自编译的驱动 +CE,已开启 DBVM 模式,本文供技术学习。
下载 CE 源码 访问 github 官方链接 =>https://github.com/cheat-engine/cheat-engine/
CE 源码下载压缩包即可,如图
下载安装 LazarusLazarus 同样的在 CE 的 github 页下方通过链接直达,如图
将”lazarus-2.2.2-fpc-3.2.2-win64.exe“和”lazarus-2.2.2-fpc-3.2.2-cross-i386-win32-win64.exe“都下载下来,如图
然后先安装 lazarus-2.2.2-fpc-3.2.2-win64.exe 再安装 lazarus-2.2.2-fpc-3.2.2-cross-i386-win32-win64.exe
安装时一直下一步即可,他默认在 C 盘,路径不深就不用修改,如图

小提示:关于 Lazarus 的常见问答可前往 =>Lazarus 常见问题解答 – Lazarus 维基
使用 Lazarus 打开 CE直接运行 Lazarus,初次使用会提示 Fppkg 配置错误,直接按照如下图依次点击自动修复即可

然后点击启动 Lazarus
然后点击 Project->OpenProject
选择 CE 源码下的 cheatengine.lpi 文件,如图
替换关键字 直接通过 Lazarus 替换关键字太多了,而且也只能替换文字,无法替换可能的特征码,幽络源这里提供一个软件一键替换所有 cheat engine 关键字、特征码,如图只需选择源码目录,填入替换词确定即可
替换 ICON由于修改了字符串为 tuboshu,这里打开 lpi 文件选择 tuboshu.lpi
然后点击 Project 下的 Project Option
然后点击 Load Icon 替换图表点击 OK
编译启动测试 我们直接点击 Run->Compile many Modes
勾选 64 位,然后 ok
编译完成弹出如下对话框表示成功
从源码的 Cheat Engine/bin 下可以看到我们编译后的 exe 文件,双击启动,如图

修改使用驱动名称并编译 点击 Search->Find in Files
输入 dbk64.sys,勾选 search all files in project,然后点击 Find,结果如下,有 5 个位置需要修改,我这里修改为 tuboshu64.sys
在第一处,除了要修改 dbk64.sys 名称,这里还建议修改下如图标记的 servicename
我这里修改为 tuboshu64.sys,服务名为 TUBOSHU,然后重编译即可
下载安装 VisualStudio由于不同系统要求的 VS 版本和 SDK 和 WDK 版本不一样,这里给出最新的版本表 =>https://learn.microsoft.com/zh-cn/windows-hardware/drivers/other-wdk-downloads
VisualStudio 我这里直接下载 VS2026 社区版,虽然系统为 25H2,但问题应该不大
工作负荷中勾选 C ++ 的桌面开发即可
切换到单个组件,搜索 Spectre x64/x86,下载如下红色框的四个
然后安装即可
下载安装 SDK还是这里下载 SDK
直接安装即可如图
下载安装 WDK同样的要注意下载对应的,如图
双击下载的 WDK,安装即可,如图
修改驱动配置文件 使用 VS 打开 DBKKernel.sln,如图
将 DBK64 驱动文件名称修改为我们自定义的名称,然后 ClassGuid 下加一行 PnpLockdown=1
然后搜索文件中的 DBK64 修改为我们的 tuboshu64,如图
最后将底部的一个 ManufacturerName 修改为我们自定义的制造商名
在 DBKKernel.vcxproj 文件下将 <TargetVersion>Windows7 修改为 <TargetVersion>Windows10,如图
将 DBK32.inf 的注释
273 行下加上
<TreatWarningAsErrors>false</TreatWarningAsErrors>
<DisableSpecificWarnings>4996;4189;4090</DisableSpecificWarnings>
如图
修改驱动项目属性编译无签名驱动 查看属性
配置修改下,并将目标文件名修改为我们自定义的驱动名 tuboshu64
生成后事件里有一行命令,会在编译完成后自动用原作者自己的签名证书去给驱动签名,我们先清空他(”$(WDKBinRoot_x64)\signtool.exe” sign /a /ac “$(TargetDir)..\release\sig\GlobalSign Root CA.crt” /tr http://rfc3161timestamp.globalsign.com/advanced /td SHA256 “$(TargetPath)”)
然后驱动签名先关掉,可以后续签名
将配置修改为 Release without sig|x64
然后再生成
如图成功
在 Cheat Engine\bin 下可以看到我们自己编译的驱动 tuboshu64.sys 了
驱动添加测试签名 使用管理员方式打开 CMD
进 WDK bin 目录
cd “C:\Program Files (x86)\Windows Kits\10\bin\10.0.28000.0\x64”建证书 + 签名
makecert.exe -r -pe -ss PrivateCertStore -n “CN=tuboshu” tuboshu.cersigntool.exe sign /v /a /s PrivateCertStore /n “tuboshu” /fd SHA256 /t http://timestamp.digicert.com “E:\cheat-engine-master\Cheat Engine\bin\tuboshu64.sys”验证一下
signtool verify /v “E:\cheat-engine-master\Cheat Engine\bin\tuboshu64.sys”如图表示成功
电脑开启测试模式 右键开始菜单 → Windows PowerShell (管理员) 或 终端 (管理员)
输入 bcdedit /set testsigning on
回车,看到 ” 操作成功完成 ”。
如图
重启电脑。桌面右下角会出现 ” 测试模式 Windows 10/11 专业版 ” 水印,说明已生效。那么我们的 tuboshu64.sys 就可以正常加载了。如图
DVBM 的开启 以上步骤完成后,打开 CE 可能可能看到不支持 DBVM,我这里的就是如此,一般是虚拟化资源被占用,那么只需要以下几步
1、关闭占用虚拟化的 Windows 功:
按 Win + R 打开运行窗口,输入 appwiz.cpl 并回车,点击左侧的“启用或关闭 Windows 功能”,关掉以下相关的东西
Hyper-V(包含其所有子项)Windows 沙盒虚拟机平台 Windows 虚拟机监控程序平台适用于 Linux 的 Windows 子系统(WSL2)如图
2、关闭基于虚拟化的安全(VBS)和内核隔离:
windows 安全中心中有个内核隔离详情,点击去,如图
将其关闭,
3、彻底禁用 Hypervisor 启动:
Windows 有时仍会在底层启动虚拟机监控程序。可以通过命令行强制关闭:
以管理员方式打开 CMD,执行如下命令即可
bcdedit /set hypervisorlaunchtype off4、彻底关闭 VBS 和内核隔离:
Win + R,输入 regedit 打开注册表编辑器。
到路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard
双击 EnableVirtualizationBasedSecurity 将其数值数据修改为 0。
如图
5、进入 BIOS 设置两个选项
不同电脑进入 BIOS 方式不同,查一下品牌就知道进入方式了,进入后一个是开启 VT,也就是 CPU 虚拟化技术,但幽络源这里的电脑安装的系统默认就是开启的。
其次就是关闭安全启动,BIOS 中可能以英文 Secure Boot 出现,关闭即可。
然后打开我们自己编译的 CE 即可看到支持 DBVM 了,如图

DBVM 镜像更换 土拨鼠这里是 windows11,CE7.5、以及 CE 源码编译出来的 DBVM 镜像我都试了,直接卡死,但是使用最新的 CE7.7 的镜像不会卡死,因此我们直接下载最新 CE7.7 版本的,将其 vmdisk.img 复制到我们编译的 CE 的 bin 目录下即可,如图
可能的额外情况处理 支持 DBVM 但报错DBVM 支持了,但有可能会出现如下情况【You are missing the driver. Try reinstalling tuboshu, and try to disable your anti-virus before doing so.】,这里我们手动创建个中间文件,让我们自己编译的 CE 加载我们自己编译的驱动,如果是如下的情况的话
在文件 cheat-engine-master\Cheat Engine\dbk32\DBK32functions.pas 中 3186 行可以看到 64 位系统会使用 driver64.dat
在 cheat-engine-master\Cheat Engine\bin 下创建 driver64.dat,放入内容
TUBOSHUDBKProcList60DBKThreadList60tuboshu64.sys76543210fedcba9890909090ULTIMAP2ultimap2-64.sys其中 TUBOSHU 是服务商名,tuboshu64.sys 是自己编译的驱动名,然后重启编译的 CE,不再报错,如图
