Heretek-RE/re-frida

GitHub: Heretek-RE/re-frida

re-frida 是封装 Frida 动态插桩工具包的 MCP server,为 AI agent 提供结构化的跨平台运行时函数 hook 与进程分析能力。

Stars: 1 | Forks: 1

# re-frida 封装了 **Frida** 动态插桩工具包的 MCP server。 Frida 将 JavaScript 引擎 (V8) 注入到目标进程中,使分析师能够 hook 任意函数、遍历类型图,并在运行时调用目标。 该 MCP 层新增了以下功能: - 稳定的 session 标识符 —— 可以在同一个 session 下安装多个脚本和 hook,并共享状态。 - 严格的二进制操作白名单 —— Frida 会向脚本暴露完整的 V8 JS API,但 MCP 包装器仅调用标准的、充分理解的原语(attach、spawn、enumerate、hook、RPC)。 - **软跳过行为** —— 当缺少 ``frida`` Python 模块或原生的 ``libfrida`` 时,每个工具都会返回 ``WARN`` 并附带安装提示,且插件会继续正常工作。 ## 工具 | 工具 | 功能描述 | |---|---| | `check_frida` | 健康检查 —— 返回 frida 版本、原生库状态以及 USB 设备列表 | | `start_session` | 在 Frida 下 spawn 一个新进程(目标:Android / iOS / 原生 PID / 远程 endpoint) | | `attach_pid` | 通过宿主机 PID attach 到一个运行中的进程 | | `script_load` | 编译并向 session 加载 Frida 脚本 (JavaScript) | | `script_call` | 调用已加载脚本 exports 中的方法 (RPC) | | `enumerate_modules` | 列出 session 进程中已加载的 module | | `enumerate_exports` | 列出单个 module 的 exports | | `hook_method` | 在指定方法上安装 Interceptor hook | | `rpc_export` | 将一个 Python 端的可调用对象注册为 RPC export,供 JS 端调用 | | `end_session` | 终止 session、卸载脚本并 detach | ## 安装 Frida 的安装体积较大(Python 模块会拉取 ``frida`` + ``frida-tools``;底层的 ``libfrida`` 是通过 PyPI wheels 提供的原生共享库)。如需独立安装: ``` pip install -e ./servers/re-frida ``` 在**目标设备**(Frida 正在通信的手机或 VM)上,必须运行匹配的 ``frida-server`` 二进制文件。详见 。 ## 运行 ``` re-frida # stdio transport (default for MCP) python -m re_frida # equivalent ``` ## 延期至未来运行 最初的 Explore 结果表明需要 Frida server;此插件内部的脚手架实现了该功能,以便深度分析 agent 可以直接使用它。Live Fire 压力测试中的 Windows 目标仍使用 `re-winedbg` 作为主要的动态工具;而未来运行中的 Android 目标将是 `re-frida` 发挥核心作用的地方。
标签:Docker支持, Frida, MCP服务, 云资产清单, 逆向工具, 逆向工程