通过 MCP 将 Cursor、Copilot 和 Claude AI 直接连接到 Cheat Engine。使用自然语言自动化逆向工程、指针扫描和内存分析。
让价值数十亿美元的人工智能数据中心为你分析程序内存。
快速创建模组、训练器、安全审计、游戏机器人、加速逆向工程,或是基于任何程序和游戏完成其他任何操作,所需时间仅过去的一小部分。
[!NOTE] 感谢大家的 Star,非常感激!<3
特别感谢所有贡献者!!
@libangli218, @lauralex, @iamtyroon, @HachiroSan, @Attacktive
你正盯着数 GB 的内存。数百万个地址。成千上万个函数。找到那个指针、那个结构体需要几天甚至几周的手动工作。
如果你可以直接提问呢?
“找到数据包解密钩子。”
“找到角色坐标的操作码。”
“找到生命值的操作码。”
“找到唯一的 AOB 模式,让我的训练器在游戏更新后依然可靠。”
这正是此工具能做到的。
- 告别逐行点击十六进制转储,开始与内存对话。
| 之前(手动) | 之后(AI 代理 + MCP) |
|---|---|
| 第 1 天:找到数据包地址 | 第 1 分钟:“找到 RX 数据包解密钩子” |
| 第 2 天:追踪谁写了它 | 第 3 分钟:“生成唯一的 AOB 签名,使其更新持久化” |
你的 AI 现在可以:
[[base+0x10]+0x20]+0x8 → 毫秒级解析flowchart TD
AI[AI Agent: Claude/Cursor/Copilot]
AI -->|MCP 协议 - 基于 JSON-RPC 通过 stdio| MCP
MCP[mcp_cheatengine.py - Python MCP 服务器]
MCP <-->|命名管道 - 异步| PIPE
PIPE["\\.\\pipe\\CE_MCP_Bridge_v99"]
PIPE <--> CE
subgraph CE[Cheat Engine - DBVM 模式]
subgraph LUA[ce_mcp_bridge.lua]
WORKER[工作线程 - 阻塞 I/O]
MAIN[主线程 - GUI + CE API]
WORKER <-->|同步| MAIN
end
end
MAIN -->|内存访问| TARGET[目标 .exe]pip install -r MCP_Server/requirements.txt
或手动安装:
pip install mcp pywin32
[!NOTE] 本地管道模式仅支持 Windows,因为它使用了命名管道(
pywin32)。当 MCP 服务器运行在托管 Cheat Engine 的 Windows 环境之外,且无法直接打开命名管道时,可使用 TCP 中继传输。
文件 -> 执行脚本 -> 打开 MCP_Server/ce_mcp_bridge.lua -> 执行。文件 -> 执行脚本,请使用 表格 -> 显示作弊表 Lua 脚本,粘贴下面的 dofile(...) 行并执行:dofile([[C:\path\to\cheatengine-mcp-bridge\MCP_Server\ce_mcp_bridge.lua]])
查找输出:[MCP v12.0.0] MCP 服务器已监听: CE_MCP_Bridge_v99
添加至你的 MCP 配置(例如 mcp_config.json):
{
"servers": {
"cheatengine": {
"command": "python",
"args": ["C:/path/to/MCP_Server/mcp_cheatengine.py"]
}
}
}
重启 IDE 以加载 MCP 服务器配置。
对于 Codex,请在 ~/.codex/config.toml 中添加 TOML 服务器块:
[mcp_servers.cheatengine]
command = "python"
args = ['C:\path\to\cheatengine-mcp-bridge\MCP_Server\mcp_cheatengine.py']
对 Windows 路径使用单引号,以便 TOML 按字面意义处理反斜杠。
TCP 中继让 mcp_cheatengine.py 通过 TCP 套接字与 Cheat Engine 通信,而不是自行打开 Windows 命名管道。Cheat Engine 和 Lua 桥接器仍运行在 Windows 上,而 MCP 服务器可以运行在能到达中继的任何地方:另一个 Windows 进程、虚拟机、容器、Linux 主机或远程机器。这也可用于 WSL,无需修改 Lua 桥接器。
MCP_Server/ce_mcp_bridge.lua。python C:\path\to\cheatengine-mcp-bridge\MCP_Server\ce_tcp_relay.py --host 127.0.0.1 --port 9876
pywin32 的 MCP 依赖,然后使用 TCP 传输运行/配置 MCP 服务器:python3 -m pip install -r MCP_Server/requirements-tcp.txt
CE_MCP_TRANSPORT=tcp \
CE_MCP_HOST=127.0.0.1 \
CE_MCP_PORT=9876 \
python3 /path/to/cheatengine-mcp-bridge/MCP_Server/mcp_cheatengine.py
对于支持环境变量的 MCP 客户端配置:
{
"servers": {
"cheatengine": {
"command": "python3",
"args": ["/path/to/cheatengine-mcp-bridge/MCP_Server/mcp_cheatengine.py"],
"env": {
"CE_MCP_TRANSPORT": "tcp",
"CE_MCP_HOST": "127.0.0.1",
"CE_MCP_PORT": "9876"
}
}
}
}
将中继上的 --host 和 MCP 服务器上的 CE_MCP_HOST 设置为匹配你的网络设置的地址。请确保中继仅绑定到受信任的接口,因为任何能访问它的人都可以控制 Cheat Engine 桥接器。
使用 ping 工具验证连接性:
{"success": true, "version": "12.0.0", "message": "CE MCP Bridge Active"}
"当前附加了哪个进程?"
"读取基址处的16个字节"
"反汇编入口点"
| 工具 |
|---|
| 工具 | 描述 |
|---|---|
set_breakpoint, set_data_breakpoint | 硬件断点 |
start_dbvm_watch | Ring -1 隐形追踪 |
| 工具 | 描述 |
|---|---|
open_process, get_process_list | 附加到或枚举运行中的进程 |
create_process | 在 CE 控制下启动新进程 |
pause_process, unpause_process |
| 工具 | 描述 |
|---|---|
allocate_memory, free_memory | 在目标中预留和释放内存 |
set_memory_protection, full_access | 调整页保护标志 |
| 工具 | 描述 |
|---|---|
inject_dll | 将 DLL 加载到目标进程中 |
execute_code, execute_method | 远程执行 Shellcode 或 CE Lua 方法 |
| 工具 | 描述 |
|---|---|
register_symbol, get_symbol_info | 创建和查询命名符号 |
enable_windows_symbols | 启用 PDB 符号解析 |
| 工具 | 描述 |
|---|---|
assemble_instruction | 将单个 x86/x64 指令汇编为字节 |
compile_c_code | 将 C 源码编译为可注入的 Shellcode |
generate_api_hook_script | 生成 CE 自动汇编 API 钩子模板 |
| 工具 | 描述 |
|---|---|
find_window | 通过标题或类查找窗口 |
send_window_message | 向目标窗口发送 WM_* 消息 |
| 工具 | 描述 |
|---|---|
get_pixel | 采样屏幕坐标处的像素颜色 |
is_key_pressed, do_key_press | 查询和模拟键盘输入 |
| 工具 | 描述 |
|---|---|
load_table, save_table | 加载/保存 .CT 作弊表文件 |
get_address_list | 枚举活动作弊表中的条目 |
| 工具 | 描述 |
|---|---|
dbk_get_cr3 | 读取目标进程的 CR3 寄存器 |
read_process_memory_cr3 | 通过 CR3 绕过读取物理内存 |
更多工具请参阅 AI_Context/MCP_Bridge_Command_Reference.md
[!CAUTION] 你必须禁用: Cheat Engine → 设置 → 额外 → "查询内存区域例程"
启用后:扫描受保护页面时,由于与 DBVM/反作弊系统冲突,会导致
CLOCK_WATCHDOG_TIMEOUTBSOD。
请使用 dofile(...) 从磁盘加载桥接器,而不是将完整脚本粘贴到作弊表脚本中。桥接器还故意将命令处理程序声明为全局函数;这样可以避免在完整桥接器一次性编译时超过 Cheat Engine 的 Lua 块限制(200 个局部变量)。
请按顺序检查以下事项:
MCP 服务器已监听: CE_MCP_Bridge_v99。mcp_cheatengine.py 路径存在。pip install -r MCP_Server/requirements.txt 已成功安装 mcp 和 pywin32。ping 工具。成功的连接会返回 success: true 和桥接器版本。在 Cheat Engine 附加到目标进程之前,process_id: 0 属于正常情况。查找一个值:
你: "扫描金币: 15000" → AI 找到 47 个结果
你: "金币变为 15100" → AI 过滤到 3 个地址
你: "第一个地址被什么写入了?" → AI 设置硬件断点
你: "反汇编那个函数" → 完整的 AddGold 逻辑被揭示
理解一个结构体:
你: "[[game.exe+0x1234]+0x10] 里是什么?"
AI: "RTTI: CPlayerInventory"
AI: "0x00=vtable, 0x08=itemCount(int), 0x10=itemArray(ptr)..."
CLAUDE.md # Claude Code 代理指南(此仓库)
README.md # 面向用户的文档
MCP_Server/
├── mcp_cheatengine.py # Python MCP 服务器 (FastMCP)
├── ce_mcp_bridge.lua # Cheat Engine Lua 桥接器
└── test_mcp.py # 测试套件
AI_Context/
├── BATCH_WORKER_BRIEFING.md # 并行工作器任务规范(v12 重构)
├── MCP_Bridge_Command_Reference.md # MCP 命令参考
├── CE_LUA_Documentation.md # CheatEngine 7.6 完整官方文档
└── AI_Guide_MCP_Server_Implementation.md # AI 代理的完整技术文档
运行测试:
python MCP_Server/test_mcp.py
预期输出:
✅ 内存读取:6/6 测试通过
✅ 进程信息:4/4 测试通过
✅ 代码分析:8/8 测试通过
✅ 断点:4/4 测试通过
✅ DBVM 功能:3/3 测试通过
✅ 实用命令:11/11 测试通过
⏭️ 跳过:1 个测试 (generate_signature)
────────────────────────────────────
总计:36/37 通过 (100% 成功)
你不再需要成为专家。只需提出正确的问题。
⚠️ 教育免责声明
此代码仅供教育研究目的使用。它旨在展示模型上下文协议(MCP)和基于 LLM 的调试能力。我不支持将这些工具用于恶意黑客攻击、在多人在线游戏中作弊或违反服务条款。这是一个软件工程自动化的演示。
| 第 3 天:找到 RX 钩子 |
| 第 6 分钟:“找到移动操作码” |
| 第 4 天:记录结构体 | 第 10 分钟:“创建将十六进制转换为纯文本的 Python 解释器” |
| 第 5 天:游戏更新,一切重来 | 完成。 |
| 描述 |
|---|
read_memory, read_integer, read_string | 读取任意数据类型 |
read_pointer_chain | 跟踪 [[base+0x10]+0x20] 路径 |
scan_all, aob_scan | 查找值和字节模式 |
| 工具 | 描述 |
|---|
disassemble, analyze_function | 代码分析 |
dissect_structure | 自动检测字段和类型 |
get_rtti_classname | 识别 C++ 对象类型 |
find_references, find_call_references | 交叉引用 |
| 暂停/恢复目标执行 |
| 变量 | 默认值 | 用途 |
|---|
CE_MCP_TIMEOUT | 30 | 每个 MCP 工具调用的超时时间(秒)。 |
CE_MCP_ALLOW_SHELL | 未设置 | 设置为 1 以启用 run_command / shell_execute 工具。任意代码执行风险 — 默认保持未设置。 |