Cheat Engine 功能

Cheat Engine 能做什么的完整概览。从基础内存扫描到内核级与脚本功能。

内存扫描器

Cheat Engine 的核心是内存扫描器。它可搜索进程内存中与您输入匹配的数值,支持精确值、未知初始值、减小/增大值等多种扫描类型。首次扫描后,在游戏中改变数值(如受伤、花费金币),再执行“再次扫描”缩小列表。重复几次通常可得到少数甚至一个存放目标数值的地址。

可扫描不同数值类型:1~8 字节整数、浮点、双精度、字符串等。扫描器支持分组扫描(如查找介于两值之间的数)以及用 Lua 自定义非常规类型。结果可加入地址列表,对地址可冻结(防止变化)、手动修改或绑定热键切换/设定。

高级选项包括仅扫描特定内存区域、用调试器在访问/写入时断点、以及指针扫描以便重启游戏后地址仍有效。

调试器

Cheat Engine 内置完整调试器。可在指令或内存访问(读/写)上设断点;命中时暂停执行,可查看寄存器、栈与内存。调试器支持 32 位与 64 位进程,加载 DBVM 时可配合内核调试。

可单步(步入、步过)、运行到返回,并使用跟踪与“找出写入/读取此地址的代码”查看哪些代码访问了该数值。这对定位更新血条、弹药或金钱的指令以便替换或注入自己的代码至关重要。

调试器窗口显示反汇编,可编辑指令(汇编)、添加新代码(Auto Assembler 脚本),或用跟踪日志查看执行流程。

反汇编与汇编

反汇编将进程的机器码以可读的汇编(x86/x64)显示。可按地址浏览、跟随跳转与调用、查看引用某地址的指令。找到写入目标数值的代码后,可用汇编器替换为自己的指令。

Auto Assembler 是之上的脚本层:编写汇编(含标签与 alloc、代码注入、AOB 搜索等指令),CE 负责分配内存、查找字节并打补丁。常用任务(无限血、无后坐等)有模板可改。多数高级修改与修改器都由此构建。

变速

变速可改变目标进程的运行速度,可放慢(便于难段或分析)或加快(单机刷进度)。通过滑块或倍数设置。原理是挂钩时间相关 API(如 GetTickCount、QueryPerformanceCounter),让程序以为时间变慢或变快。

变速仅影响已附加的进程,面向单机。在网游中使用可能导致不同步或被检测,不予支持。

修改器制作

找到地址并可选地编写 Auto Assembler 脚本后,可保存为修改表(.CT 文件)。修改器制作可将修改表转为独立可执行修改器,带简单窗口(勾选框、热键),用户无需打开 Cheat Engine 或手动加载表。可自定义修改器外观与行为。

修改器常在论坛等处分享。请仅从可信来源下载,使用前检查 .CT 文件(为 XML)中是否含恶意 Lua 或汇编。

Lua 脚本

Cheat Engine 内置 Lua 支持。可编写脚本自动化扫描、修改界面、创建自定义窗体与对话框,并与地址列表和内存交互。论坛上许多扩展为 Lua 编写。Lua API 提供进程与内存函数,可读/写内存、分配内存、枚举模块并从脚本调用调试器。

Lua 用于自动附加(进程启动时自动附加)、自定义扫描类型和复杂修改器。学习 Lua 基础与维基上的 CE Lua 文档即可在 CE 之上构建强大工具。

DBVM(调试器虚拟机)

DBVM 是运行在操作系统之下的虚拟机,扩展 CPU 指令集,使用户态程序(如 CE)能执行通常需内核权限的操作,从而在 64 位 Windows 等环境下获得更强调试与内存访问能力。

加载 DBVM 后,CE 可使用 ultimap(执行跟踪)、更好断点与内核级内存访问等功能。加载 DBVM 需兼容 CPU 并通过 DBVM 加载器启动(如 UEFI)。右键 CE 图标打开“关于”可查看系统是否支持及当前是否已加载。

DBVM 使用 160 位密钥保护,防止其他软件滥用。为可选功能;多数用户可不使用 DBVM。

Mono 与 .NET 支持

许多游戏与应用由 Unity(Mono)或 .NET 构建。Cheat Engine 可枚举 Mono/.NET 类型、类与字段。Mono 解析器与 .NET 数据收集器可浏览内存中的对象模型,按名称查找字段(如 Player.health、GameManager.gold)而非裸地址,并加入地址列表或用于脚本。

便于处理托管游戏。Lua 与 Mono API 可结合使用,自动查找与监视类与实例。

指针扫描

因 ASLR 与动态分配,游戏中的地址常在重启后变化。指针是存有另一地址的数值,最终指向目标数据。指针扫描可找到在重启后仍有效的指针链(如基址模块 + 偏移 → 指针 → 偏移 → 目标值),将指针存入表即可每次启动游戏都有效。

指针扫描可能很大且耗时。通过“必须可读”等过滤并限制深度与层级可减少误报。

其他工具

扫描选项与性能

内存扫描器提供多种选项以平衡速度与精度。可限制扫描区域(如仅主模块或可写区域)、使用“快速扫描”做更快但非穷举的扫描、设置线程数。对大型进程的“未知初始值”,限制扫描范围可缩短时间。地址列表支持大量条目;对指针扫描结果可用过滤(如“必须有效”)缩小后再扫描。实用建议见 教程 页。

插件与扩展

Cheat Engine 支持扩展功能的插件(DLL)。论坛有插件版块供用户分享针对特定游戏或通用功能的工具。Lua 脚本也可作为扩展:自动附加、自定义扫描类型、界面增强。使用第三方插件或脚本时请仅选用可信来源;它们与 CE 同权运行并可访问进程内存。官方维基为开发者提供插件 API 与 Lua API 文档。

循序渐进学习请从 教程 与 CE 内置教程(安装后从开始菜单打开)入手。Cheat Engine 维基 有各功能的详细页面。

下载