GameGuardian MCP Server · 终端版 GameGuardian(GG修改器)
把 GameGuardian(GG修改器) 的核心能力搬到 MCP(Model Context Protocol)——让 AI 助手可以直接选择进程、搜索内存、模糊搜索、读写修改、计算偏移、冻结数值、暂停/恢复进程,全部通过标准 MCP 工具调用,内核级读写、抗检测。
┌─────────────┐ MCP (JSON-RPC over HTTP) ┌──────────────────┐
│ AI / MCP │ ───────────────────────────▶ │ gg-mcp-server │
│ Client │ ◀─────────────────────────── │ (Go, root) │
└─────────────┘ 127.0.0.1:8788/mcp └────────┬─────────┘
│ ioctl(fd, 0x7e1a/0x7e1b)
▼
┌──────────────────────┐
│ MemoryDriver KPM │
│ (kernel module) │
│ 页表级读写, 无ptrace │
└──────────────────────┘
✨ 功能(26 个 MCP 工具)
进程管理
内存搜索
读写修改
分析定位
🧠 内核读写引擎
engine.go 实现了与 MemoryDriver KPM(内核补丁模块)的直连协议:
- 创建
socket(AF_INET, SOCK_DGRAM)作为驱动通道(伪装网络操作) - 读:
ioctl(fd, 0x7e1a, &{pid, pad, addr, buffer, size}) - 写:
ioctl(fd, 0x7e1b, &{pid, pad, addr, buffer, size}) - 三重复用降级:内核驱动 →
process_vm_readv→/proc/<pid>/mem,任何一层失败自动切换
协议通过逆向 8KB 的 hook 库(
libKernelGg.so)得出,完整笔记见 docs/PROTOCOL.md
🚀 部署
前置条件
- Android 11+,已 Root(Magisk/KitsuneMagisk)
- KPatch-Next(给 Magisk 加 KPM 支持):https://github.com/KernelSU-Next/KPatch-Next-Module
- MemoryDriver_IOCTLhook.kpm 内核模块已加载
编译
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o ggmcp main.go engine.go
部署
adb push ggmcp /data/local/tmp/ggmcp/
adb shell su -c 'sh /data/local/tmp/ggmcp/start_ggmcp.sh'
# 或直接:
adb shell su -c 'setsid nohup /data/local/tmp/ggmcp/ggmcp :8788 > /data/local/tmp/ggmcp/ggmcp.log 2>&1 < /dev/null &'
注册到 MCP 客户端
在 MCP 配置中注册:
{ "endpoint": "http://127.0.0.1:8788/mcp" }
开机自启
adb shell su -c 'cp scripts/start_ggmcp.sh /data/adb/service.d/ggmcp.sh && chmod 755 /data/adb/service.d/ggmcp.sh'
🎮 使用示例
# 搜索金币
curl -X POST http://127.0.0.1:8788/mcp -H 'Content-Type: application/json' -d '{
"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"gg_search","arguments":{"value":"100","type":"dword","region":"anonymous"}}
}'
# 批量改成 99999
curl -X POST http://127.0.0.1:8788/mcp -H 'Content-Type: application/json' -d '{
"jsonrpc":"2.0","id":2,"method":"tools/call",
"params":{"name":"gg_set_results","arguments":{"values":[{"index":0,"value":"99999"}]}}
}'
📁 项目结构
├── main.go # MCP HTTP 服务器 + 26 个工具实现
├── engine.go # 内核内存引擎(MemoryDriver协议/搜索算法/进程管理)
├── lib5_stub.c # GG内核对接: ELF桩加载器(保持lib5.so为合法ELF并注入钩子)
├── scripts/
│ └── start_ggmcp.sh # 部署/启动脚本
└── docs/
└── PROTOCOL.md # MemoryDriver 协议逆向笔记
⚠️ 免责声明
本项目仅供技术研究与学习。请勿用于:
- 联网游戏的作弊(可能违反服务条款并被封号)
- 任何商业或非法用途
使用者需自行承担一切后果。
📄 License
🙏 致谢
- GameGuardian — 内存修改器先驱
- KernelSU-Next/KPatch-Next — KPM 内核补丁框架
- ZYPyDoki/Gg_Docking_Kernel — GG 内核对接思路与驱动仓库