吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 55|回复: 0

[原创逆向图文] Windows11下的Cheat Engine+驱动源码编译并开启DBVM模式

[复制链接] 出处:幽络源
回帖奖励 300 HB 回复本帖可获得 1 HB奖励! 每人限 1 次(中奖概率 50%)
贪婪土拨鼠 发表于 2026-7-6 15:47 | 显示全部楼层 |阅读模式

本帖最后由 贪婪土拨鼠 于 2026-7-6 16:10 编辑

附上成品截图如图是在Windows11测试模式下运行自编译的驱动+CE,已开启DBVM模式,本文供技术学习
1677b8bb-6d0e-46ad-ac58-2675c9c12c80-1024x624.jpg
下载CE源码
访问github官方链接=>https://github.com/cheat-engine/cheat-engine/
CE源码下载压缩包即可,如图
05bb70ab-b17f-4421-a46c-fa1f39772cda-1024x430.jpg
下载安装Lazarus
Lazarus同样的在CE的github页下方通过链接直达,如图
3c5a57d5-2809-4046-87de-21ee6ee6bf40-1024x554.jpg
将”lazarus-2.2.2-fpc-3.2.2-win64.exe“和”lazarus-2.2.2-fpc-3.2.2-cross-i386-win32-win64.exe“都下载下来,如图
3841fbe5-8443-428a-8973-4614b7eb3487-1024x667.jpg
然后先安装lazarus-2.2.2-fpc-3.2.2-win64.exe再安装lazarus-2.2.2-fpc-3.2.2-cross-i386-win32-win64.exe
安装时一直下一步即可,他默认在C盘,路径不深就不用修改,如图
abe74bb5-b955-41c4-8a15-ac0c9e0d6530.jpg
84478e75-39e5-4d11-838d-1349598cb306.jpg
小提示:关于Lazarus的常见问答可前往=>Lazarus 常见问题解答 - Lazarus 维基


使用Lazarus打开CE
直接运行Lazarus,初次使用会提示Fppkg配置错误,直接按照如下图依次点击自动修复即可
1.jpg
2.jpg
然后点击启动Lazarus
3.jpg
然后点击Project->OpenProject
4.jpg
选择CE源码下的 cheatengine.lpi 文件,如图
5.jpg
替换关键字
直接通过Lazarus替换关键字太多了,而且也只能替换文字,无法替换可能的特征码,幽络源这里提供一个软件一键替换所有cheat engine关键字、特征码,如图只需选择源码目录,填入替换词确定即可
由于软件大小超过2m,附件无法上传,这里提供盘链接下载 [color=rgba(6, 10, 38, 0.9)][backcolor=rgba(255, 255, 255, 0.5)]https://pan.quark.cn/s/1dd54b233f1c
image-1.png
替换ICON
由于修改了字符串为tuboshu,这里打开lpi文件选择tuboshu.lpi
e9267d58-d870-46b7-b745-57c21d95c0d1.png
然后点击Project下的Project Option
2d0787dd-8970-456f-9414-d7ab742748d1.jpg
然后点击Load Icon替换图表点击OK
c3306266-451a-459c-8316-7c581ac6d765.jpg
编译启动测试
我们直接点击Run->Compile many Modes
1-1.jpg
勾选64位,然后ok
1-1-1.jpg
编译完成弹出如下对话框表示成功
2-1.jpg
从源码的Cheat Engine/bin下可以看到我们编译后的exe文件,双击启动,如图
2e4b2504-bf24-4510-aca8-72e24d0d11eb-1024x642.png
4-1.jpg
修改使用驱动名称并编译
点击Search->Find in Files
e6eb86b2-f978-4341-9837-e9f8a8859d11.jpg
输入dbk64.sys,勾选search all files in project,然后点击Find,结果如下,有5个位置需要修改,我这里修改为tuboshu64.sys
1be7c356-86fb-442d-a130-a75786d890d5-1024x209.png
在第一处,除了要修改dbk64.sys名称,这里还建议修改下如图标记的servicename
88bc47d5-cc33-442c-8136-54e845bee117.jpg
我这里修改为tuboshu64.sys,服务名为TUBOSHU,然后重编译即可
下载安装VisualStudio
由于不同系统要求的VS版本和SDK和WDK版本不一样,这里给出最新的版本表=>https://learn.microsoft.com/zh-cn/windows-hardware/drivers/other-wdk-downloads
6938f2d6-068c-4a96-8b69-e71c64a0e567-1024x423.jpg
VisualStudio我这里直接下载VS2026社区版,虽然系统为25H2,但问题应该不大
工作负荷中勾选C++的桌面开发即可
7f12d424-5b86-4795-a438-258b22a4de12-1024x576.png
切换到单个组件,搜索Spectre x64/x86,下载如下红色框的四个
2f010c6e7eeabdf92fbbb15a8feeb1de-1024x576.png
然后安装即可
下载安装SDK
还是这里下载SDK
970092787341067897d4798a70e54f69.jpg
直接安装即可如图
fd4b8493-81f2-4905-ae37-497042567cf6.png
下载安装WDK
同样的要注意下载对应的,如图
6938f2d6-068c-4a96-8b69-e71c64a0e567-1024x423.jpg
双击下载的WDK,安装即可,如图
fd2e51e9-6011-47a3-b066-90700f844116.png
修改驱动配置文件
使用VS打开DBKKernel.sln,如图
7f3e1413-57fb-4da4-b30d-d2576c69dda3-1024x662.png
将DBK64驱动文件名称修改为我们自定义的名称,然后ClassGuid下加一行PnpLockdown=1
b01bbdd4-d112-4b0b-9d07-e4414a56f9fc-1024x322.png
然后搜索文件中的DBK64修改为我们的tuboshu64,如图
08e3d9ee-b043-4303-8ae1-e7e14759aeec-1024x571.png
最后将底部的一个ManufacturerName修改为我们自定义的制造商名
5f9716a5-6cff-4d1f-a06d-f3b4716a2dce-1024x678.png
在DBKKernel.vcxproj文件下将 <TargetVersion>Windows7 修改为  <TargetVersion>Windows10,如图
eac927d6-6070-47bb-9b74-84c3146d5af2-1024x407.png
将DBK32.inf的注释
image-2-1024x337.png
273行下加上
<TreatWarningAsErrors>false</TreatWarningAsErrors>
<DisableSpecificWarnings>4996;4189;4090</DisableSpecificWarnings>
如图
image-3-1024x638.png
修改驱动项目属性编译无签名驱动
查看属性
fca444658f627b9bdb0612c729c26264.png
配置修改下,并将目标文件名修改为我们自定义的驱动名tuboshu64
465f6a2dfeee035277dac3578154ae50.png
生成后事件里有一行命令,会在编译完成后自动用原作者自己的签名证书去给驱动签名,我们先清空他("$(WDKBinRoot_x64)\signtool.exe" sign /a /ac "$(TargetDir)..\release\sig\GlobalSign Root CA.crt" /tr http://rfc3161timestamp.globalsign.com/advanced /td SHA256 "$(TargetPath)")
3e84a33029981e060160a72289bc7001.png
然后驱动签名先关掉,可以后续签名
2ac9f6f92bf9ff61c13c5f2d1dc07edc.png
将配置修改为Release without sig|x64
6ccfc3f7e357af78d150e882ba386196.png
然后再生成
ba52780de119f7fcc5e6c5b35690ed2a.png
如图成功
26ca3c29-c28d-451e-936f-1241945acde5-1024x691.png
在Cheat Engine\bin下可以看到我们自己编译的驱动tuboshu64.sys了
617ddb2a-3527-40ba-b3cb-0798902f0f94.png
驱动添加测试签名
使用管理员方式打开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"
如图表示成功
14f0f39e62e8e96fc0623b461b6a6061-1024x546.png
电脑开启测试模式
右键开始菜单 → Windows PowerShell (管理员) 或 终端 (管理员)
8d4165ef-8a79-4c02-abfd-bb0e46acb89a.png
输入 bcdedit /set testsigning on
回车,看到"操作成功完成"。
如图
image-4.png
重启电脑。桌面右下角会出现"测试模式 Windows 10/11 专业版"水印,说明已生效。那么我们的 tuboshu64.sys 就可以正常加载了。如图
de63f17f-43e0-40d3-bc76-2baf82800fae.png
DVBM的开启
以上步骤完成后,打开CE可能可能看到不支持DBVM,我这里的就是如此,一般是虚拟化资源被占用,那么只需要以下几步
1、关闭占用虚拟化的Windows功:
按 Win + R 打开运行窗口,输入 appwiz.cpl 并回车,点击左侧的“启用或关闭Windows功能”,关掉以下相关的东西
Hyper-V(包含其所有子项)Windows 沙盒虚拟机平台Windows 虚拟机监控程序平台适用于 Linux 的 Windows 子系统(WSL2)如图
d3d79f73-cbbd-4796-b2f3-54a41ff30517.png
2、关闭基于虚拟化的安全(VBS)和内核隔离:
windows安全中心中有个内核隔离详情,点击去,如图
c76c03b1-615c-478d-8201-88e82818033b-1024x487.png
将其关闭,
image-5-623x1024.png
3、彻底禁用Hypervisor启动:
Windows有时仍会在底层启动虚拟机监控程序。可以通过命令行强制关闭:
以管理员方式打开CMD,执行如下命令即可
bcdedit /set hypervisorlaunchtype off4、
彻底关闭 VBS 和内核隔离:
Win + R,输入 regedit 打开注册表编辑器。
到路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard
双击 EnableVirtualizationBasedSecurity 将其数值数据修改为 0。
如图
ed0d287f-d56d-41bc-9da1-1c3cdbd5c25c-1024x262.png
5、进入BIOS设置两个选项
不同电脑进入BIOS方式不同,查一下品牌就知道进入方式了,进入后一个是开启VT,也就是CPU虚拟化技术,但幽络源这里的电脑安装的系统默认就是开启的。
其次就是关闭安全启动,BIOS中可能以英文Secure Boot出现,关闭即可。
然后打开我们自己编译的CE即可看到支持DBVM了,如图
50742d8a-2d5b-4708-9f3e-f98c986b0538-1024x603.jpg
DBVM镜像更换
土拨鼠这里是windows11,CE7.5、以及CE源码编译出来的DBVM镜像我都试了,直接卡死,但是使用最新的CE7.7的镜像不会卡死,因此我们直接下载最新CE7.7版本的,将其 vmdisk.img 复制到我们编译的CE的bin目录下即可,如图
fakename.png
可能的额外情况处理支持DBVM但报错
DBVM支持了,但有可能会出现如下情况【You are missing the driver. Try reinstalling tuboshu, and try to disable your anti-virus before doing so.】,这里我们手动创建个中间文件,让我们自己编译的CE加载我们自己编译的驱动,如果是如下的情况的话
fakename.png
在文件 cheat-engine-master\Cheat Engine\dbk32\DBK32functions.pas 中 3186行可以看到 64位系统会使用driver64.dat
6dd78a74-0ac4-4f37-8d9a-065b6e363229.png
在 cheat-engine-master\Cheat Engine\bin 下创建 driver64.dat,放入内容
TUBOSHUDBKProcList60DBKThreadList60tuboshu64.sys76543210fedcba9890909090ULTIMAP2ultimap2-64.sys其中TUBOSHU是服务商名,tuboshu64.sys是自己编译的驱动名,然后重启编译的CE,不再报错,如图
50742d8a-2d5b-4708-9f3e-f98c986b0538-1024x603.jpg



吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表