mcpField
S
super-trouper

super-trouper

本地服务
github.com/crissyfield安全621 周前更新

关于 super-trouper

Super Trouper 是一款 MCP 服务,为编码 Agent 提供 Frida 应用与进程检查及插桩能力。它通过 MCP 工具管理设备连接、会话和脚本,并支持发现 Frida CodeShare 内容。

主要功能

  1. 01连接本地、USB 和远程设备
  2. 02检查应用、进程、模块和线程
  3. 03附加进程并管理会话
  4. 04创建并运行 JavaScript 或 TypeScript 脚本
  5. 05读写目标进程内存
  6. 06搜索并获取 Frida CodeShare 脚本

适用场景

  1. 01检查 Frida 设备上运行的应用
  2. 02用 JavaScript 脚本插桩进程
  3. 03与运行中的脚本交换消息
  4. 04查找适用于目标的社区脚本

MCP 相关

通过 STDIO 运行 MCP 服务,并将 Frida 设备、进程、会话、内存和脚本功能作为工具开放。它还提供搜索和获取 Frida CodeShare 项目的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"crissyfield-super-trouper": {
"command": "npx",
"args": [
"-y",
"@crissyfield/super-trouper"
]
}
}
}
启动命令npx -y @crissyfield/super-trouper

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@crissyfield/super-trouper0.5.1

工具

30

收录的工具列表 · 更新于 1 周前

参数类型必填说明
namestring否要查找的应用程序名称
devicestring是要搜索的设备句柄
identifierstring否要查找的应用程序的捆绑包标识符

详细介绍

super-trouper 徽标

Super Trouper

适用于 Frida 逆向工程工具包的 MCP 服务。

Super Trouper 通过 STDIO 运行 MCP 服务,将 Frida 的功能作为工具提供给编码 Agent。它可以连接本地、USB 和远程设备;检查应用和进程;管理进程会话;以及加载、评估 JavaScript 插桩脚本并与之交换消息。它还可以搜索 Frida CodeShare,以发现社区脚本并获取这些脚本,供脚本工具使用。设备连接、会话和脚本均通过工具管理,并使用不透明句柄引用。

super-trouper

功能

  • 单个 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、状态和程序计数器。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。