

Cheat Engine 通过扫描和修改游戏运行时在电脑内存中的数值来实现修改,游戏启动后,资源、生命值、攻击力等关键数据都存储在内存中,CE 帮助你找到这些数据的位置并修改它们。
- Cheat Engine (CE): 最新版本下载地址:https://www.cheatengine.org/ (请从官网下载,安全可靠)
- 基本的游戏知识: 知道你想修改什么数值(如金钱、生命值、攻击力、防御力等),以及这个数值在游戏中的大致范围或变化方式。
修改教程步骤:
第一步:启动游戏和 Cheat Engine
- 启动游戏: 正常启动《蓝色警戒:战争纪元》。
- 启动 CE: 打开 Cheat Engine,在 CE 主界面,点击左上角的电脑图标(或选择“进程附加”按钮)。
- 附加进程: 在弹出的“进程选择”窗口中,找到并选中
Blue警戒.exe(或游戏的主进程名,可能是Warfare.exe等,请根据你的游戏版本确认),点击“打开”按钮,成功附加后,CE 左下角的进程列表会显示游戏进程名,并显示“已附加”。
第二步:定位目标数值(以修改金钱为例)
- 获取初始值:
- 在游戏中,查看你当前的金钱数量(初始为 1000)。
- 切换回 CE,在左上角的“值”输入框中输入这个初始值(
1000)。 - 选择数值类型(通常是“4字节”或“双字”,金钱通常是整数),如果不确定,可以尝试“自动选择类型”或先选“4字节”。
- 点击“首次扫描”按钮,CE 会开始扫描内存中所有等于 1000 的地址。
- 获取变化后的值:
- 切换回游戏,通过建造一个便宜的单位或建筑(花费 100 金币),使你的金钱数量发生变化(从 1000 变成 900)。
- 切换回 CE,在“值”输入框中输入新的数值(
900)。 - 点击“下次扫描”按钮,CE 会在上次扫描结果的基础上,筛选出等于 900 的地址。
- 缩小范围:
- 重复步骤 2.1 和 2.2 多次(再花掉 100 金币,变成 800;再扫描 800),每次扫描后,地址列表中的结果会越来越少。
- 经过几次变化扫描后,你会得到一个或几个非常可疑的地址(地址值很大,可能带星号 表示多级指针)。
- 验证地址:
- 在 CE 的地址列表中,找到一个看起来最可疑的地址(通常是数值符合当前金钱数,且地址值较大的)。
- 双击这个地址,它会出现在下方的“手动添加地址”区域。
- 勾选地址左侧的“冻结”复选框(可选,但推荐先冻结测试)。
- 切换回游戏,观察金钱是否被锁定在你修改的值(如果你修改了下方数值框的值),如果锁定成功,说明你找到了正确的地址!
- 如果修改后金钱没变化或游戏异常: 这个地址可能不是你要的,或者需要修改多级指针,回到步骤 2,继续扫描或尝试其他可疑地址。
第三步:修改数值(锁定或修改)
- 找到正确地址后:
- 在 CE 下方的“手动添加地址”区域,选中你找到的地址。
- 在“值”输入框中输入你想要的新数值(
999999)。 - 修改: 直接按回车键或点击“应用”按钮,数值会立即修改。
- 锁定: 勾选地址左侧的“冻结”复选框,这样即使游戏中金钱减少(比如花钱),CE 也会不断将内存中的值写回你设定的值,实现“无限金钱”效果。注意:过度锁定可能导致游戏逻辑异常或崩溃。
- 保存地址(可选但推荐):
- 如果你需要频繁修改这个数值,或者担心下次启动游戏找不到地址,可以保存它。
- 在地址列表中,右键点击你找到的地址,选择“添加到地址管理器”。
- 或者,在“手动添加地址”区域,右键点击地址,选择“复制” -> “复制地址”或“复制基址+偏移”。
- 你也可以保存整个 CT 表:在 CE 菜单栏选择“文件” -> “保存为”,将当前扫描结果和修改保存为
.ct文件,下次启动游戏后,附加进程,再打开这个.ct文件即可使用。
第四步:修改其他常见数值(原理相同)
- 生命值(单位/建筑):
- 方法类似金钱,先扫描当前生命值(1000),然后让单位受到伤害(变成 900),再扫描 900,反复缩小范围。
- 注意:不同单位/建筑的生命值是独立的,可能需要分别扫描,基地生命值通常更容易找到。
- 修改后可以锁定实现“无敌”。
- 攻击力/防御力:
- 扫描当前单位的攻击力数值(50),然后升级该单位(如果游戏允许),攻击力变成 60,再扫描 60。
- 或者,找到单位数据结构后,尝试修改攻击力相关的偏移量(需要更多分析)。
- 防御力同理。
- 经验值/等级:
- 扫描当前经验值,然后获得经验值,再扫描新值。
- 修改经验值可以直接升级(但可能需要处理等级上限)。
- 弹药/燃料:
- 扫描当前弹药/燃料量,然后消耗或补充,再扫描新值。
- 可以锁定实现无限弹药/燃料。
重要技巧与注意事项
- 多级指针(关键!):
- 很多游戏(包括蓝戒)为了反作弊,关键数值(如金钱、生命值)的内存地址是动态变化的,每次重启游戏都会变,直接修改地址列表中的地址(尤其是带星号 的)通常无效。
- 解决方案: 找到正确的数值地址后,在地址列表中右键点击它,选择“找出访问该地址的代码”,在反汇编窗口中,寻找包含类似指令的代码(如
mov [eax+xx], xxx或lea eax, [ecx+xx])。eax或ecx寄存器指向的地址可能就是基址,记录下基址和偏移量。 - 在 CE 左下角的“地址”输入框中输入基址地址,点击“手动
