内容
ce-mcp-rs
用于 Cheat Engine 的 Rust。用原生异步 I/O 和机制取代了 Python 版的 `mcheatengine.py`。
## 构建
```bash
cargo build --release
```
## 使用
mcp.json`:
```json
{
"mcpServers": "cheatengine": {
"command": "C:/dev/engine-mcp-rs/target/release/ce-mcp-rs.exe"
}
}
```
需要 Cheat Engine 加载 CE Lua 桥接器(`ce_mcp_bridge.lua`)。
## 环境变量
- `CE_PIPE_NAME` — 管道名称(默认:`\\.\pipe\CE_MCP_Bridge_v99`)
- `CE_PIPE_TIMEOUT` — 读取超时时间(秒)(默认:30)
## 工具(24)
根据实际使用情况,从 43 个工具中精简到 24 个。`evaluate_lua` 以更灵活的方式涵盖了所有内存读取、写入和扫描操作。新添加了 6 个用于作弊表控制和 CJK 文本的工具。
### 基础工具
| 工具 | 用途 |
|---|---|
| `evaluate_lua` | 所有操作 — 读取、写入、钩子、IL2CPP 调用、复杂逻辑 |
| `ping` | 连接检查 |
| `get_process_info` | 验证游戏是否已附加 |
| `get_attached_process_quick` | 轻量级附加检查(仅 PID 和名称) |
| `enum_modules` | 确认 DLL 已加载 |
### 作弊表和输出(需要 Lua 桥接器 v12+)
| 工具 | 用途 |
|---|---|
| `get_ce_lua_output` | 读取 CE Lua 控制台输出缓冲区 |
| `execute_ct_entry` | 按名称或 ID 启用/禁用作弊表条目 |
| `get_ct_entries` | 列出所有作弊表条目及其状态 |
| `freeze_address` | 将内存地址冻结为指定值 |
| `read_utf16_string` | 读取 UTF-16LE 字符串(CJK/Unicode 游戏文本) |
### 断点
`set_breakpoint`、`set_data_breakpoint`、`remove_breakpoint`、`list_breakpoints`、`clear_all_breakpoints`、`get_breakpoint_hits`
### 分析和反汇编
`disassemble`、`get_instruction_info`、`find_function_boundaries`、`analyze_function`、`find_references`、`find_call_references`、`dissect_structure`
### 扫描
`aob_scan`
### 已归档(请改用 `evaluate_lua`)read_memory`、`read_integer`、`read_string`、`read_pointer`、`read_pointer_chain`、`write_integer`、`write_memory`、`write_string`、`scan_all`、`next_scan`、`get_scan_results`、`search_string`、`checksum_memory`、`generate_signature`、`get_memory_regions`、`enum_memory_regions_full`、`get_symbol_address`、`get_address_info`、`get_rtti_classname`、`get_thread_list`
### 已归档(无用)
`auto_assemble`(通过管道静默失败)、`get_physical_address`、`start_dbvm_watch`、`stop_dbvm_watch`、`poll_dbvm_watch`(需要 DBVM — 未使用)