关于 super-trouper
Super Trouper 是一款 MCP 服务,为编码 Agent 提供 Frida 应用与进程检查及插桩能力。它通过 MCP 工具管理设备连接、会话和脚本,并支持发现 Frida CodeShare 内容。
主要功能
- 01连接本地、USB 和远程设备
- 02检查应用、进程、模块和线程
- 03附加进程并管理会话
- 04创建并运行 JavaScript 或 TypeScript 脚本
- 05读写目标进程内存
- 06搜索并获取 Frida CodeShare 脚本
适用场景
- 01检查 Frida 设备上运行的应用
- 02用 JavaScript 脚本插桩进程
- 03与运行中的脚本交换消息
- 04查找适用于目标的社区脚本
MCP 相关
通过 STDIO 运行 MCP 服务,并将 Frida 设备、进程、会话、内存和脚本功能作为工具开放。它还提供搜索和获取 Frida CodeShare 项目的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
30收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 否 | 要查找的应用程序名称 |
| device | string | 是 | 要搜索的设备句柄 |
| identifier | string | 否 | 要查找的应用程序的捆绑包标识符 |
详细介绍
Super Trouper
适用于 Frida 逆向工程工具包的 MCP 服务。
Super Trouper 通过 STDIO 运行 MCP 服务,将 Frida 的功能作为工具提供给编码 Agent。它可以连接本地、USB 和远程设备;检查应用和进程;管理进程会话;以及加载、评估 JavaScript 插桩脚本并与之交换消息。它还可以搜索 Frida
CodeShare,以发现社区脚本并获取这些脚本,供脚本工具使用。设备连接、会话和脚本均通过工具管理,并使用不透明句柄引用。
功能
- 单个 Go 二进制文件 — 主机无需安装 Python、Node 或 Frida CLI 工具
- 由 Frida 17.x 提供支持 — 静态链接 Frida Core DevKit v17.23.3
- 全面支持设备 — 列出并连接本地、USB 和远程设备,附加到应用和进程
- TypeScript 和 JavaScript 插桩 — 创建并加载 Frida 脚本,直接在目标中进行评估
- Frida CodeShare 集成 — 搜索、浏览并获取包含社区脚本的 CodeShare 目录
- 随处运行 — 提供 macOS 和 Linux 预构建二进制文件,可通过 Docker、Homebrew 或 npm 安装
安装
Homebrew
通过项目的 Homebrew tap 安装 macOS 版本:
brew install --cask crissyfield/tap/super-trouper
npm
通过 npm 安装启动器包。它会通过可选依赖项拉取适用于相应平台的二进制文件:
npm install -g @crissyfield/super-trouper
发布版二进制文件
从发布页面下载适用于你平台的二进制文件。
从源代码安装
首先安装与构建主机匹配的 Frida Core DevKit。然后使用以下命令构建并安装 Super Trouper:
# Set flags if the Frida devkit is not in a standard location
export CGO_CFLAGS="-I/path/to/frida-core-devkit/include"
export CGO_LDFLAGS="-L/path/to/frida-core-devkit/lib"
# Build and install
export CGO_ENABLED=1
go install github.com/crissyfield/super-trouper@latest
用法
在编码 Agent 中使用此 MCP 服务。以下以 Claude Code 为例,但在 Codex、 OpenCode、Pi、 Crush 等工具中的配置也类似。
使用二进制文件
如果 Super Trouper 二进制文件不在 PATH 中,请在 MCP 服务配置中指定完整路径。
{
"mcpServers": {
"super-trouper": {
"command": "super-trouper"
}
}
}
使用 npx
npm 用户可以通过 npx 直接运行 Super Trouper,无需全局安装:
{
"mcpServers": {
"super-trouper": {
"command": "npx",
"args": ["-y", "@crissyfield/super-trouper"]
}
}
}
使用 Docker
Docker 是在主机上无需安装即可运行 Super Trouper 的便捷方式。
{
"mcpServers": {
"super-trouper": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/crissyfield/super-trouper"]
}
}
}
MCP 工具
Super Trouper 提供以下 MCP 工具:
| 工具 | 描述 |
|---|---|
app_list | 列出 Frida 设备上已安装的应用程序。 |
app_find | 按标识符或名称查找 Frida 设备上的应用程序。 |
app_frontmost | 返回 Frida 设备上位于最前台的应用程序。 |
codeshare_search | 在 Frida CodeShare 中搜索与给定查询匹配的项目。 |
codeshare_popular | 列出 Frida CodeShare 中最受欢迎的项目。 |
codeshare_project | 返回 Frida CodeShare 中的项目,包括其 JavaScript 源代码;该代码可使用其他脚本工具运行。 |
device_list | 列出主机检测到的 Frida 设备。 |
device_connect | 按 device_list 报告的 ID、远程 Frida 服务地址或类型连接到 Frida 设备。返回供其他设备工具使用的设备句柄;重新连接到同一设备时会返回已有句柄。 |
device_disconnect | 断开与 Frida 设备的连接。如果设备仍有已附加的会话,则操作会失败。 |
device_params | 返回 Frida 设备的参数。 |
device_spawn | 在 Frida 设备上以挂起状态启动进程。使用 device_resume 启动该进程。 |
device_resume | 恢复 Frida 设备上已挂起的进程。 |
device_kill | 终止进程。 |
memory_read | 读取已附加进程中最多 4096 字节的内存,并以十六进制、base64、UTF-8 或以 NUL 结尾的 C 字符串形式返回。如果范围内有任何字节无法读取,则操作会失败。 |
memory_write | 将最多 4096 字节的数据写入已附加进程的内存,格式为十六进制(默认)或 base64,通过 encoding 参数选择。如果无法写入内存,则操作会失败;修改代码不在支持范围内。 |
module_list | 列出已附加进程中加载的模块。结果可按名称或路径匹配,也可分页。 |
package_install | 在共享的 Frida 工作区中安装 npm 包,以便从 script_create 源代码导入。 |
package_list | 列出 Super Trouper 共享 Frida 工作区中直接安装的 npm 包。 |
pattern_create | 根据 .hexpat 或 .pat 源文件创建托管的 Frida Pattern 项目。 |
pattern_read | 返回托管的 Frida Pattern 项目中的源文件。 |
pattern_list | 列出托管的 Frida Pattern 项目。 |
pattern_delete | 删除托管的 Frida Pattern 项目。 |
pattern_describe | 为已附加的目标编译 Pattern 项目,并返回诊断信息、类型和输入项。 |
pattern_decode | 使用托管的 Frida Pattern 项目读取并解码有界的目标内存快照。 |
process_list | 列出 Frida 设备上运行的进程。 |
script_create | 在已附加的会话中使用 TypeScript 源代码创建 Frida 脚本。脚本创建后处于未加载状态;使用 script_load 加载。 |
script_load | 将 Frida 脚本加载到其目标进程中。 |
script_unload | 从目标进程中卸载 Frida 脚本。 |
script_close | 如果 Frida 脚本已加载,则将其卸载并释放其资源。 |
script_post | 向 Frida 脚本发送 JSON 消息。 |
script_messages | 返回 Frida 脚本发送的消息。消息会缓冲(最多 256 条),应定期读取清空。 |
script_bridge_list | 返回可作为全局变量暴露给使用 script_create 创建的脚本的语言桥接。 |
session_attach | 按 PID 或名称附加到 Frida 设备上的进程。返回供会话工具使用的会话句柄。 |
session_detach | 从进程分离,并关闭其所有脚本和会话。 |
session_eval | 在已附加的进程中执行 JavaScript 语句,并返回其 JSON 结果。首次调用会在会话中建立持久化求值器。 |
frida_version | 返回链接的 Frida Core 库的版本。 |
frida_documentation | 返回 Frida JavaScript API 的文档链接。 |
thread_list | 列出已附加进程中运行的线程及其 ID、状态和程序计数器。 |
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。