Cheat Engine 术语表

使用 Cheat Engine、论坛与维基时常见术语的定义。

地址

进程虚拟内存中的位置,通常以十六进制表示(如 0x00401234)。用扫描器找到数值时会得到一个或多个地址,该地址存放当前值(如血量)。重启游戏后地址可能变化,因此用指针扫描找稳定引用。

指针

内存中存的是另一地址的数值,即“指向”别处。游戏常把玩家对象地址存在全局或指针链中。指针扫描可找到这些链,使重启后修改仍有效。

扫描 / 首次扫描 / 再次扫描

首次扫描:按类型与条件(精确值、未知、增大等)在内存中搜索。再次扫描:在上次结果中只保留符合新条件的地址。重复“在游戏中改值 → 再次扫描”可缩小列表直至找到正确地址。

AOB(字节数组)

一串字节值(常以十六进制书写,如 8B 0D ?? ?? ?? ??),用于在游戏代码中唯一标识一处位置。“??” 表示“任意字节”。AOB 用于 Auto Assembler 脚本,使脚本在游戏更新后只要该代码模式仍存在就能找到正确位置。

冻结

在地址列表中“冻结”某地址后,Cheat Engine 会持续把当前值写回该地址。因此若游戏要减少血量,数值会立刻被恢复。用于无限血、弹药等。

修改表(.CT)

存储地址、脚本与选项的文件。修改表为 XML,可用文本编辑器打开。在论坛分享。仅使用可信来源的表;表中可含在您系统上运行的 Lua 或汇编。

修改器

由修改表构建的独立程序(常为 .exe),用户可通过勾选框或热键启用修改而无需打开 Cheat Engine。用 CE 的修改器制作功能创建。

Auto Assembler

CE 中的脚本系统,编写 x86/x64 汇编及指令(alloc、aobscan、inject 等)以打补丁。用于代码注入、替换指令,与 AOB 结合可做出重启后仍有效的修改。

变速

CE 中改变游戏运行速度的功能(如 0.5x 慢动作、2x 加速)。通过挂钩时间相关 API 让进程“以为”时间变慢或变快。仅限单机。

DBVM

调试器虚拟机。运行在 OS 之下的虚拟机,为 CE 提供额外能力(如 ultimap、高级断点)。可选;需兼容硬件并通过 UEFI 等方式加载。

附加

在 Cheat Engine 中打开一进程以便扫描与修改其内存。从进程列表选择进程(文件 → 打开进程或电脑图标)。部分进程需以管理员身份运行 CE。

数值类型

扫描的数据种类:1/2/4/8 字节整数、浮点、双精度、字符串等。选错类型(如游戏用 8 字节却选 4 字节)会得不到或得到错误结果。

断点

调试器在此暂停执行的位置。可在指令上设断点(CPU 执行到该指令时停),或在内存上设(有代码读/写该地址时停)。用于找出哪些代码访问某数值。

Mono / .NET

托管代码运行时。许多游戏(如 Unity)使用 Mono 或 .NET。CE 可枚举这些运行时中的类与字段,从而按名称查找“Player.Health”而非裸地址。

Lua

CE 内置的脚本语言,用于自动化、自定义界面与扩展。Lua 脚本可通过维基文档中的 CE Lua API 访问内存、地址列表与调试器。

代码注入

将自有汇编代码写入目标进程(常写入分配的内存)并让游戏执行流转向运行您的代码。用于无限弹药、无后坐等。通过 Auto Assembler 脚本完成。

进程

程序的一个运行实例。将 CE“附加”到进程(如游戏)以读写其内存。每个进程有独立的虚拟地址空间。

地址列表

CE 窗口底部的列表,用于添加找到的地址。可编辑数值、冻结、加描述、挂脚本。作为 .CT 文件的一部分保存。

首次扫描 / 再次扫描

首次扫描按您设置的值/条件搜索所有匹配内存。再次扫描用新值/条件在上次结果中缩小。重复直至找到正确地址。

热键

为地址或脚本分配的按键组合(如 Ctrl+H 切换无限血)。通过右键地址或脚本选项设置。

NOP

汇编“空操作”。用 NOP 替换一条指令相当于去掉它。用于禁用检查(如减少弹药的代码)使游戏不再执行该逻辑。

Ultimap

CE 在加载 DBVM 时的功能,可跟踪执行以查看运行了哪些代码。用于进阶分析。详见维基 Ultimap 文档。

CEServer

在 Linux、Android 等平台运行的服务端组件,使 Windows CE 客户端可经网络附加到该进程。面向进阶用户。见下载页。

基址

模块(如游戏 .exe 或 DLL)的起始地址。模块内地址常表示为基址 + 偏移。因 ASLR,基址每次运行可能不同;用指针与 AOB 可靠定位代码/数据。

偏移

加到基址或指针上的固定数字,用于到达某字段。如“player + 0x10”可能是血量。偏移在多次运行间不变;基址或指针值可能变。指针扫描结果会显示一串偏移。

模块

加载进进程的可执行文件或库(如主游戏 .exe 或 .dll)。CE 可枚举模块并限制扫描到某模块。“主模块”通常指主程序。

挂钩

将执行从原代码重定向到您的代码(如用跳转到您的例程替换函数开头)。CE 的变速即通过挂钩时间 API 实现,代码注入中也会用到。您的代码可调用原逻辑并改变行为。

解析数据 / 结构

CE 将内存按结构(如 C 结构体)可视化的功能:定义偏移与类型,CE 显示各字段。逆向分析游戏如何存玩家数据、实体或数组时很有用。

扫描类型

扫描条件:精确值、未知初始值、大于、小于、增大值、减小值、变化值、未变化值等。首次扫描用初始条件;再次扫描用新条件缩小。

ASLR

地址空间布局随机化。系统每次运行将模块加载到随机地址,因此直接地址会变。所以脚本中用指针扫描与 AOB 而非固定地址。

反汇编器

将机器码显示为可读的汇编(x86/x64)。在 CE 中用于查看游戏代码、找到访问您地址的指令并准备补丁。汇编器用于编辑或添加指令。

Alloc(分配)

在 Auto Assembler 中,alloc 在目标进程中保留一块内存供您的代码或数据使用。脚本随后在此注入代码并让游戏执行。分配到的地址在本次会话中稳定,但重启后若无指针或 AOB 则不再有效。

下载