|
| 1 | +## Summary |
| 2 | + |
| 3 | +Request to implement debugger capabilities and pointerscan (pointer scanning) functionality into the ce-mcp project to expand reverse engineering and debugging features. |
| 4 | + |
| 5 | +### Current Scanning Capabilities |
| 6 | + |
| 7 | +The project currently supports: |
| 8 | +- **AOB (Array of Bytes) scanning** via `AOBScanTool.cs` |
| 9 | +- **Memory value scanning** via `MemScanTool.cs` |
| 10 | +- **Disassembly** via `DisassembleTool.cs` |
| 11 | +- **Memory read/write operations** |
| 12 | + |
| 13 | +### Proposed Features |
| 14 | + |
| 15 | +#### 1. Debugger Capabilities |
| 16 | +Add full debugging support including: |
| 17 | +- Set/remove **breakpoints** (software and hardware) |
| 18 | +- **Step-through execution** (step over, step into, step out) |
| 19 | +- **Register inspection and modification** |
| 20 | +- **Call stack viewing** |
| 21 | +- **Exception handling** and exception breakpoints |
| 22 | +- **Attach/detach** from running processes for debugging |
| 23 | +- **Continue/pause execution** control |
| 24 | + |
| 25 | +#### 2. Pointer Scanner (Pointerscan) |
| 26 | +Implement pointer chain scanning: |
| 27 | +- **Multi-level pointer chain discovery** (e.g., base + offset1 -> offset2 -> target address) |
| 28 | +- **Pointer map generation** for finding static pointers to dynamic addresses |
| 29 | +- **Pointer rescanning** to validate pointer chains across game restarts |
| 30 | +- **Maximum offset configuration** and depth limiting |
| 31 | +- **Export/import pointer scan results** |
| 32 | + |
| 33 | +### Implementation Considerations |
| 34 | + |
| 35 | +Following the existing architecture pattern: |
| 36 | + |
| 37 | +```c# |
| 38 | +// Example structure for new tools |
| 39 | +src/Tools/DebuggerTool.cs // Breakpoints, stepping, register access |
| 40 | +src/Tools/PointerScanTool.cs // Pointer chain scanning |
| 41 | +``` |
| 42 | + |
| 43 | +Register endpoints in `ApiServer.cs`: |
| 44 | +```c# |
| 45 | +Tools.DebuggerTool.MapDebuggerApi(app); |
| 46 | +Tools.PointerScanTool.MapPointerScanApi(app); |
| 47 | +``` |
| 48 | + |
| 49 | +Leverage Cheat Engine's Lua API documented in `celua.txt` for: |
| 50 | +- `debug_*` functions for debugger operations |
| 51 | +- Pointer scanner classes/functions |
| 52 | + |
| 53 | +### Related Code References |
| 54 | + |
| 55 | +- **Memory Scanner**: https://github.com/hedgehogform/ce-mcp/blob/4c9671460e613c7ad734fcf89ac419506f477fcc/src/Tools/MemScanTool.cs |
| 56 | +- **AOB Scanner**: https://github.com/hedgehogform/ce-mcp/blob/4c9671460e613c7ad734fcf89ac419506f477fcc/src/Tools/AOBScanTool.cs |
| 57 | +- **API Registration**: https://github.com/hedgehogform/ce-mcp/blob/4c9671460e613c7ad734fcf89ac419506f477fcc/src/ApiServer.cs#L46-L70 |
| 58 | +- **Architecture Docs**: https://github.com/hedgehogform/ce-mcp/blob/4c9671460e613c7ad734fcf89ac419506f477fcc/CLAUDE.md#L35-L70 |
| 59 | + |
| 60 | +## Expected Outcome |
| 61 | +- Users can set breakpoints and step through code execution |
| 62 | +- Users can inspect and modify registers during debugging |
| 63 | +- Users can discover and validate pointer chains to game/application data |
| 64 | +- Full REST API endpoints exposed for debugger and pointerscan operations |
| 65 | +- Documentation added to OpenAPI schema at `/scalar/v1` |
| 66 | + |
| 67 | +## Additional Context |
| 68 | +Consider following the existing tool patterns with proper error handling and Lua stack management as documented in CLAUDE.md. |
0 commit comments