附上成品截图
如图是在Windows11测试模式下运行自编译的驱动+CE,已开启DBVM模式,本文供技术学习。

下载CE源码
访问github官方链接=>https://github.com/cheat-engine/cheat-engine/
CE源码下载压缩包即可,如图

下载安装Lazarus
Lazarus同样的在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版本不一样,这里给出最新的版本表=>支持的和其他 WDK 下载版本 - Windows drivers | Microsoft Learn

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.cer
signtool.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 off
4、彻底关闭 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,放入内容
TUBOSHU
DBKProcList60
DBKThreadList60
tuboshu64.sys
76543210
fedcba98
90909090
ULTIMAP2
ultimap2-64.sys
其中TUBOSHU是服务商名,tuboshu64.sys是自己编译的驱动名,然后重启编译的CE,不再报错,如图
