GG

giaoimgiao/gameguardian-mcp-server

开发工具
22 stars 0 forks 质量 60 趋势 60

GameGuardian MCP Server · 终端版GameGuardian(GG修改器) - 26个MCP工具,内核级内存读写(MemoryDriver KPM),AI可直接操作内存搜索/修改/冻结/偏移/指针扫描

概览

把 的核心能力搬到 MCP(Model Context Protocol)——让 AI 助手可以直接选择进程、搜索内存、模糊搜索、读写修改、计算偏移、冻结数值、暂停/恢复进程,全部通过标准 MCP 工具调用,。 - 创建 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/ /mem,任何一层失败自动切换 协议通过逆向 8KB 的 hook 库(libKernelGg.so)得出,完整笔记见 docs/PROTOCOL.md - Android 11+,已 Root(Magisk/KitsuneMagisk) - (给 Magisk 加 KPM 支持):https://github.com/KernelSU-Next/KPatch-Next-Module - 内核模块已加载 本项目仅供**。请勿用于: - 联网游戏的作弊(可能违反服务条款并被封号) - 任何商业或非法用途 - GameGuardian — 内存修改器先驱 - KernelSU-Next/KPatch-Next — KPM 内核补丁框架 - ZYPyDoki/Gg_Docking_Kernel — GG 内核对接思路与驱动仓库

README

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 工具)

进程管理

工具 说明
gg_list_processes 列出所有进程(pid/名称/命令行/uid),支持过滤
gg_attach 附加目标进程(pid 或包名),自动初始化内核通道
gg_detach 分离进程
gg_target_info 目标进程内存映射概况 + 模块列表
gg_module_list 已加载模块(路径+基址+大小)

内存搜索

工具 说明
gg_search 已知值精确搜索(byte/word/dword/qword/float/double)
gg_search_unknown_init 模糊搜索初始化(未知初值,位图+快照)
gg_search_refine 模糊细化:increased/decreased/unchanged/changed
gg_search_range 区间搜索(min~max)
gg_result_count 结果数量
gg_get_results 查看结果(地址+当前值)
gg_clear_results 清空结果

读写修改

工具 说明
gg_read / gg_read_bytes / gg_hex_dump 读值/读字节/hex 转储
gg_write 写指定地址
gg_set_results 批量修改搜索结果(按 index 或 address)
gg_freeze / gg_unfreeze 冻结值(持续写入)/ 解冻

分析定位

工具 说明
gg_module_base 模块基址
gg_calc_offset 地址相对模块基址偏移
gg_pointer_scan 指针扫描(找指向目标地址的指针链)
gg_pause / gg_resume 暂停/恢复进程(断点模拟,SIGSTOP/SIGCONT)
gg_status / gg_shell 会话状态 / 执行 shell 命令

🧠 内核读写引擎

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//mem,任何一层失败自动切换

协议通过逆向 8KB 的 hook 库(libKernelGg.so)得出,完整笔记见 docs/PROTOCOL.md

🚀 部署

前置条件

编译

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

GPL-3.0

🙏 致谢

View this README on GitHub

安装

This server does not publish a one-line install command.

Open the repository installation guide