Cheat Engine 技巧
关于扫描、指针、数值类型、Lua、Mono 及一般工作流的实用技巧,兼顾新手与进阶。
扫描与数值
- 多试几种数值类型。若 4 字节得到数百万或零结果,可试 Float、Double 或 8 字节。血量与金钱常用 4 字节或 Float。
- 不确定时用“全部”类型。较慢,但在不知道游戏如何存值时有用。
- 用多次“下次扫描”缩小范围。在游戏中改变数值(如受伤、花钱)并每次做下次扫描,直到列表可管理。
- 未知值流程。无法直接输入数值时(如“?”),用未知初始值,在游戏中改变后再用“增加/减少/改变的值”。
- 显示值可能不同。部分游戏存的是数值×2 或×8。若输入的数字总对不上,可查 Wiki 的“自定义扫描”或“乘数数值”教程。
指针与稳定性
- 重要数值要找指针。找到地址后用指针扫描,这样重启后修改仍有效。可能耗时占盘;可先用较小“最大层级”试跑。
- 过滤指针结果。指针扫描后可勾选“必须可读”“指针必须静态”等缩小无效结果。重启游戏后再扫描确认。
- 经常保存表。若指针扫描或长时间操作崩溃,会丢失进度。请定期保存 .CT。
代码与 AOB
- 代码注入用 AOB。在脚本里写死地址在更新后会失效。AOB(字节数组)按特征找代码位置,脚本更易在更新后仍可用。
- AOB 要唯一。包含足够字节使特征只出现一次。需要时用 ?? 表示未知字节。
- 查找写入某地址。右键地址 → “找出是什么写入该地址”。在游戏中改值,CE 会显示指令。对代码注入很有用。
Mono 与 Unity
- 先用 Dissect Mono。在 Mono 游戏中用 Mono → Dissect mono(或类似)列出类。搜索 “Player”“Health”“GameManager” 等找对类和字段。
- 查找实例。找到类后用“查找类的实例”或 Mono 助手得到对象实例,再浏览字段找目标数值。
Lua 与自动化
- 用 Lua 自动附加。可写 Lua 脚本等待进程名,在游戏启动时自动附加。
- 看 Lua 扩展论坛。那里有很多现成 Lua 脚本与扩展;使用前请阅读代码。
性能与安全
- 扫描范围。对大型游戏可在设置中限制扫描范围以加速(如已知数值在主模块可排除大块 DLL 区域)。
- 勿盲目打开不可信 .CT。可能含 Lua 并修改系统。先用文本编辑器打开,或仅用可信来源的表。
- 仅在需要时以管理员运行 CE。部分游戏附加需要。用完后关闭 CE 以降低风险。
工作流
- 从内置教程开始。至少完成步骤 1–5,理解首次扫描、再次扫描与改值。
- 给地址起名。在地址列表中双击说明可给地址起清晰名称(如“玩家血量”),便于记忆。
- 在表中分组。用地址列表中的组与子组保持表可读,尤其条目多时。
- 指针扫描前先保存。大进程上指针扫描可能崩溃。先保存 .CT 以免丢失地址。
- 用“可写”缩小。扫描选项中“可写”可减少结果,因为游戏必须能写入该地址。
- 坐标常用 Float。找 X/Y/Z 位置可试 Float 或 Double,在两次扫描间在游戏中移动。
- 用文本编辑器看 .CT。从网上下载表前先打开,查找 <LuaScript> 或异常代码,避免运行未知脚本。
- 主菜单前附加。对会检测 CE 的游戏,在进程一启动就附加(反作弊加载前)有时有效。