# 项目介绍
核心亮点
🤖 AI 驱动:支持通过自然语言控制 CE,降低逆向门槛
🛠️ 功能完整:57 个 MCP 工具覆盖逆向全流程(内存读写/扫描/断点/分析/Hook)
🔌 架构优雅:AI ← MCP/JSON-RPC → Python Server ← Named Pipe → CE Lua Bridge
# 快速开始
安装依赖
pip install pywin32
## CE 加载桥接
在 Cheat Engine 中按 Ctrl+Alt+L 执行:
dofile([[D:\CE7.6\autorun\ce_mcp_bridge.lua]])
或者把ce_mcp_bridge.lua放进Cheat Engine目录的autorun文件夹里面
配置 MCP 客户端
{
"mcpServers": {
"cheat-engine": {
"command": "python",
"args": ["C:\\ce_mcp\\ce_mcp_server.py"]
}
}
}
# 使用示例
示例 1:自动指针追踪
用户指令:找到玩家血量的静态指针
AI 调用:
ce_find_pointer_path("0x12345678")
返回结果:
{
"success": true,
"base_address": "game.exe",
"offsets": [0x100, 0x20, 0x8],
"ce_pointer_notation": "[[game.exe+100]+20]+8"
}
## 示例 2:函数 Hook
用户指令:Hook 伤害计算函数并记录参数
AI 调用:
ce_hook_function("0x401000", "damage_func", {"capture_args": 4})
让游戏运行后调用:
ce_get_hook_log("damage_func")
返回结果:
{
"total_calls": 64,
"entries": [
{"args": {"arg1": "0x255D5E758", "arg2": "100", "arg3": "50", "arg4": "1"}},
{"args": {"arg1": "0x255D5E758", "arg2": "95", "arg3": "50", "arg4": "2"}}
]
}
## 示例 3:执行追踪
用户指令:追踪这个函数的执行流程
AI 调用:
ce_break_and_trace("0x401000", {"max_steps": 100})
返回结果:
{
"steps": 100,
"stop_reason": "ret",
"trace": [
{"step": 1, "address": "0x401000", "instruction": "mov rcx, [rdx+8]", "registers": {...}},
{"step": 2, "address": "0x401004", "instruction": "add rcx, 5", "registers": {...}}
]
}
# 工具清单(57 个)
🔧 系统工具(8 个)
| 工具 |
用途 |
| ce_ping |
连接测试,获取服务器健康指标 |
| ce_get_process_info |
获取进程信息 + 刷新符号表【会话第一步】 |
| ce_execute_lua |
执行原始 Lua 代码 |
| ce_get_selected_address |
获取 Memory View 选中地址 |
| ce_get_logs |
获取 Lua 桥接日志 |
| ce_list_processes |
列出运行进程 |
| ce_attach_process |
附加到进程(PID 或名称) |
| ce_auto_assemble |
执行 Auto Assembler 脚本 |
## 💾 内存工具(3 个)
| 工具 |
用途 |
| ce_read_memory |
读取单个内存值 |
| ce_read_memory_batch |
批量读取【性能优化,优先使用】 |
| ce_write_memory |
写入内存值 |
## 🔍 扫描工具(10 个)
| 工具 |
用途 |
| ce_aob_scan |
AOB 签名扫描(支持 ?? 通配符) |
| ce_value_scan |
值扫描【手动指针追踪第 2 步】 |
| ce_scan_new |
首次扫描【值查找】 |
| ce_scan_next |
过滤扫描(支持 10 种扫描类型) |
| ce_scan_results |
获取扫描结果(分页) |
| ce_scan_close |
关闭扫描会话 |
| ce_scan_list |
列出所有活动扫描会话 |
| ce_enum_modules |
枚举已加载模块(DLL) |
| ce_get_address_list |
获取 Cheat Table 地址列表 |
| ce_add_address_record |
向 Cheat Table 添加记录 |
## 📍 符号工具(5 个)
| 工具 |
用途 |
| ce_get_address |
解析地址表达式 |
| ce_get_symbol |
获取符号名 + RTTI + 模块信息 |
| ce_get_region_info |
获取内存区域信息 |
| ce_auto_guess |
猜测地址处的值类型 |
| ce_resolve_pointer |
解析指针链(验证) |
## 🐛 调试工具(7 个)
| 工具 |
用途 |
| ce_disassemble |
基本反汇编 |
| ce_get_instruction_info |
获取指令详细信息 |
| ce_set_breakpoint |
设置硬件断点 |
| ce_remove_breakpoint |
移除断点 |
| ce_get_breakpoints |
列出所有活动断点 |
| ce_break_and_get_regs |
单次捕获寄存器 |
| ce_break_and_trace |
逐级执行追踪【最强大】 |
## 📊 分析工具(17 个)
| 工具 |
用途 |
| ce_find_what_accesses |
查找访问地址的代码(F5)【手动指针追踪第 1 步】 |
| ce_find_what_writes |
查找写入地址的代码(F6) |
| ce_analyze_code |
静态代码分析 |
| ce_build_cfg |
构建控制流图(CFG) |
| ce_detect_patterns |
模式识别(switch/加密/反调试) |
| ce_compare_functions |
比较函数相似性 |
| ce_trace_dataflow |
追踪单寄存器数据流 |
| ce_program_slice |
程序切片【高级】 |
| ce_analyze_struct_access |
静态结构体分析 |
| ce_trace_struct_access |
动态结构体追踪 |
| ce_cleanup |
清理所有断点和追踪 |
| ce_find_pointer_path |
自动指针追踪【推荐首选】 |
| ce_find_references |
查找代码引用 |
| ce_find_call_references |
查找函数调用者 |
| ce_find_function_boundaries |
检测函数边界 |
| ce_checksum_memory |
计算 MD5 哈希 |
| ce_generate_signature |
生成 AOB 签名 |
## 🪝 Hook 工具(5 个)
| 工具 |
用途 |
| ce_hook_function |
非阻塞函数 Hook(64 条环形缓冲区) |
| ce_unhook_function |
移除 Hook |
| ce_list_hooks |
列出所有活动 Hook |
| ce_get_hook_log |
获取 Hook 日志 |
| ce_clear_hook_log |
清除 Hook 日志 |
## 🎮 仿真工具(2 个)
| 工具 |
用途 |
| ce_call_function |
调用目标进程函数【危险】 |
| ce_symbolic_trace |
符号执行【不执行实际代码】 |
# 源码结构
ce_mcp/
├── ce_mcp_server.py # Python MCP 服务端(1575 行)
├── ce_mcp_bridge.lua # CE Lua 桥接(253KB)
├── requirements.txt # Python 依赖
├── mcp_config.json # MCP 配置示例
└── README.md # 完整文档(1055 行)
# 适用场景
✅ 游戏逆向工程
✅ 恶意软件分析
✅ CE 脚本自动化生成
✅ 逆向教学演示
✅ AI 辅助逆向
# 下载与使用
附件下载
[附件] ce_mcp.zip
包含文件:
- ce_mcp_bridge.lua
- ce_mcp_server.py
- requirements.txt
- mcp_config.json
- README.md
## 系统要求
- Cheat Engine 7.6+
- Python 3.7+
- pywin32 依赖
## 注意事项
⚠️ 本工具为 AI 辅助逆向工程工具,用于教学和研究目的
⚠️ 请遵守当地法律法规,不得用于非法用途
⚠️ AI 需要 MCP 客户端支持
# 技术架构
┌─────────────────┐
│ AI │
└────────┬────────┘
│ MCP Protocol (JSON-RPC)
┌────────▼────────┐
│ ce_mcp_server.py│ ← Python MCP 服务端
└────────┬────────┘
│ Named Pipe
┌────────▼─────────────┐
│ ce_mcp_bridge.lua │ ← CE Lua 桥接
└────────┬─────────────┘
│
┌────────▼─────────┐
│ Cheat Engine │ ← 附加到目标进程
└──────────────────┘
# 特色功能详解
自动指针追踪(推荐)
工作流:
1. ce_find_pointer_path(动态地址)
↓
2. 自动尝试多种策略:
- hybrid(推荐):F5 + value_scan
- f5:纯断点方法
- value_scan:纯内存搜索
↓
3. 返回:base_address + offsets + CE 表示法
↓
4. 验证:ce_resolve_pointer(base, offsets)
## 扫描会话管理
完整支持首次扫描 → 过滤扫描 → 获取结果流程:
1. ce_scan_new(初始值) → session_id, count
↓
2. 游戏中改变值
↓
3. ce_scan_next(session_id, 'decreased') → 过滤结果
↓
4. 重复 2-3 直到结果很少
↓
5. ce_scan_results(session_id) → 获取地址列表
↓
6. ce_scan_close(session_id) → 释放资源
## 函数 Hook 系统
非阻塞 Hook,64 条环形缓冲区:
1. ce_hook_function(地址, "hook_name")
↓
2. 让游戏运行(自动捕获参数)
↓
3. ce_get_hook_log("hook_name")
→ 64 次调用的完整参数
↓
4. ce_unhook_function("hook_name")
→ 清理
## 执行追踪
最强大的调试工具:
1. ce_break_and_trace(地址, max_steps=100)
↓
2. 返回每条指令的完整寄存器状态
↓
3. 停止原因:ret / end_address / max_steps / timeout
## 模式识别
自动检测常见代码模式:
- switch_tables:跳转表(switch 语句)
- virtual_calls:虚函数调用(vtable)
- string_refs:字符串字面量
- crypto_constants:加密常量(MD5/SHA 等)
- anti_debug:反调试检测
- comparisons:比较指令
- memory_patterns:结构体字段访问模式
# 常见问题
Q:需要学习 Lua 吗?
A:不需要,通过 AI 自然语言即可操作。
Q:支持哪些 AI 模型?
A:支持所有支持 MCP 协议的 AI(如 Claude)。
Q:能自动化游戏修改吗?
A:本工具为逆向分析工具,用于学习和研究。
Q:会封号吗?
A:本工具仅用于离线分析,不涉及联网操作。
# 总结
CE MCP 通过 57 个精心设计的工具,将 Cheat Engine 的强大功能通过 MCP 协议暴露给 AI,
实现了自然语言驱动的逆向工程体验。
无论是初学者学习逆向,还是老手提高效率,都能从中受益。
🎉 享受 AI 辅助逆向后,你会发现逆向从未如此简单!
ce_mcp.7z
(69.32 KB, 下载次数: 706)