SZ

ssyclr/zygisk-mcp-il2cpp

API 开发
107 stars 22 forks 质量 53 趋势 36MIT

一个MCP服务

概览

把 Android Unity IL2CPP 游戏进程中的运行时查询、方法调用和 Dobby Hook 暴露给 MCP 客户端的 Zygisk 模块。我要Star⭐ QAQ - 通过持久目录中的 apps.txt 配置多个目标包名,同时匹配应用主进程和 包名:子进程。 - 通过持久目录中的 port.txt 自定义 MCP/命令 Socket 端口,默认 27184。 - 由 Zygisk Root companion 读取配置并通过 IPC 传给目标进程,兼容应用进程无法访问 /data/adb 的环境。 - 全新 KernelSU/Magisk WebUI:添加/移除多个包名、修改端口、连接检测、复制 MCP 配置、一键导出 MCP.zip。 - IL2CPP:跨 Image 模糊搜索类/方法/字段,字段偏移与类型、完整方法签名、对象字段、数组/List/Dictionary 加载、带参静态/实例方法调用,以及方法 Hook。 - IL2CPP Dump:直接写入目标应用私有目录的 files/zygisk_il2cpp_mcp/il2cpp_dump.cs,MCP 仅返回是否成功。 - 非 IL2CPP 内存工具:安全读写映射、模块起止地址/重复实例定位、地址反查、多级指针链、并行基址扫描、字节/类型化搜索及多轮过滤。 - 可选内核内存后端:WebUI 可选择 System、KPM KMA、ditPro、APRead、ioctl hook、Netlink、GT1/GT2、Paradise 或 QX;仅内存读写/搜索走所选后端。 - 搜索:精确多类型搜索、未知值模糊搜索、变化/不变/增大/减小过滤、结果分页,以及内存区域类型多选。 - Dobby:符号解析、原生地址 Hook、固定返回、Instrument 计数、代码 Patch、Destroy 与 Hook 列表。 - 动态调试:内置 LuaJIT+FFI、ARM64 AsmJit 汇编、Capstone 反汇编/指令修改、Ghidra C 风格伪代码还原、perf 硬件断点与命中栈回溯、Dobby 追踪回溯。Ghidra 直接读取目标的实时内存以解析只读字符串和全局数据;输入地址精确命中 IL2CPP 方法时自动注入返回值、参数、声明类及实例字段 Offset 类型。

README

Zygisk IL2CPP MCP

频道

TG:@il2cppmcp QQ:276342773

发电 && 推广

https://ifdian.net/a/__mcp/plan 推荐AI中转站(up同款并非本人业务)https://www.codextopapi.com/

这是面向自有或已获授权 Android 应用的运行时调试工具,支持 Unity IL2CPP、Unreal 和原生程序。既可以在游戏内使用悬浮工作台,也可以连接 MCP,让 AI 查询、分析和执行经确认的调试操作。

项目主体不公开源码,公开内容为版本说明和部分使用文档。请使用正式发布的模块安装包。

安装与开始使用

  1. 在 Magisk/KernelSU 管理器中安装发布的模块 ZIP,按安装提示重启设备。
  2. 打开模块 Web 菜单,在「目标设置」添加需要调试的包名。
  3. 如只处理某个子进程,填写完整的 包名:子进程名;不带冒号的包名会匹配主进程及其子进程。
  4. 按需设置延迟启动、悬浮窗和内存后端,保存后彻底结束并重新启动目标应用。
  5. 在「MCP 连接」查看在线进程,复制连接配置,或导出 MCP.zip 使用 Python 连接。
  6. 通过悬浮窗操作,或让 AI 先确认当前进程与可用能力,再进行查询和调试。

升级保留原有安装 ID、包名设置、连接配置和数据目录。修改监听地址或端口后需要重启设备;只修改目标配置时,重新启动目标应用即可。

主要功能

功能 可以做什么
IL2CPP 搜索程序集、类、方法和字段;检查实例与集合;字段修改、带参调用、Hook 和按类/命名空间 Dump
Unreal 发现并确认运行时配置;搜索类与实例;查看字段、对象关系和路径;兼容数值修改及反射 Dump
内存 数值/字符串/联合搜索、结果改善、批量修改与冻结、模块定位、指针与多级基址链
分析 内存、ARM64 汇编与伪代码独立窗口,地址同步、调用跳转、流程图及带语法检查的汇编编辑
调试 追踪、计数、断点、寄存器与回溯;具体能力取决于设备权限、内核和目标架构
渲染 查找实例、整类跟踪、集合管理、相机、样式与规则;手动操作和 AI 控制共用状态
AI 逻辑 通过 MCP 创建窗口、控件与规则,提交有界逻辑程序,管理查询、调用及运行回执
日志与导出 查看 MCP 调用、本地持久日志和历史会话;导出到文件或支持的剪贴板入口

MCP 连接

推荐在 Web「MCP 连接」复制当前设备的配置,不必手填局域网地址或端口。控制端口默认 27184。

  • 原生 HTTP:不需要 Python。设备本机使用 http://127.0.0.1:27184/mcp;局域网使用手机当前地址。
  • 局域网监听:在 Web 设置为 0.0.0.0,保存并重启设备。0.0.0.0 是监听设置,不是客户端填写的连接地址。
  • Python:从 Web 导出 MCP.zip,按压缩包说明配置;设备本机运行可选择直连模式,不需要 ADB 转发。
  • 鉴权:默认使用 Bearer 令牌。可手动选择无需鉴权,但任何能访问端口的设备都可能执行已开启的工具,务必仅在可信环境使用。
  • 多个目标:用 process_list 查看、process_select 选择、process_current 确认。目标重启后需要重新选择,不能复用旧地址。

HTTP 和 Python 使用一致的具名工具与功能开关。更新模块后,也请更新导出的客户端文件并重新连接。完整说明见 MCP 使用文档。

悬浮工作台

列表支持上下滑动,明确支持横向滚动的列表、路径和页签可左右滑动;不会因为长文本溢出而横移整个页面。调色盘、滑块和窗口缩放保留各自拖动操作。语言、主题、缩放、透明度、Toast 和布局自动保存。

Web 关闭「注入 ImGui 窗口」后,下次启动不显示悬浮窗及屏幕渲染,MCP 和原生调试仍可使用。临时隐藏窗口与关闭显示层是不同操作。

日志、导出与设置

  • Web「运行日志」可以查看、筛选、导出与清理历史记录。日志不会因目标崩溃或重新启动自动清空。
  • Dump 和资源导出写入目标应用的私有目录;MCP 返回完成状态、路径和数量,不直接返回全部正文。
  • 语言、主题、分页、Toast 和窗口布局自动保存;不会自动恢复旧对象地址、断点、Hook 或上次的游戏写入。
  • 内存默认使用 KittyMemory。外部驱动是否可用取决于设备、权限与协议,失败时会显示原因。
  • 普通 IL2CPP 优先自动识别;特殊目标可使用已确认的符号覆盖配置,不保证解密或支持任意修改版本。
在 GitHub 查看完整 README

安装

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

Open the repository installation guide 新手?先看 mcpskill.org 教程 →