Oct 10, 2026

用 39k 星的 REA MCP 逆向任何应用

一条 setup 命令把 REA MCP 接入你的编程 agent,让它能检查二进制、Electron 应用和网站——并返回带证据的调查结果。

#tutorial#security#developer-tools

你看中了某个应用里的一个功能,想知道它到底是怎么实现的——但拿不到源码。REA 把调查工作交给你的编程 agent:它检查目标、解释机制、展示证据,还能为你的项目实现一个同类功能。

为什么这个 Skill 重要

过去做逆向工程意味着一个人闷头泡在 Hopper 或 Ghidra 里。REA 是一个 MCP 服务器,把你的 agent 接到一组检查工具上:原生二进制、JavaScript 和 Electron 应用、.NET 程序集、网站等等——README 列出 12 种目标类型,从 EVM 字节码到 Android APK 再到固件。分析在本地运行,结果会附带每条结论背后的证据与局限,agent 基于事实而不是猜测开展工作。

安装

装好 Node.js 和 npm 之后,运行:

npx rea-agents setup

REA 要求 Node.js 22.x(>=22.19)、24.x(>=24.11)或 26+。setup 会问你要配置哪些 agent——README 列出了 Claude Code、Codex、Cursor、Gemini CLI 和 Grok Build 等——然后添加 MCP 服务器(会先备份你已有的配置),并提示你重启 agent。原生分析可以复用已有的 Hopper 或 Ghidra 安装,setup 也可以在征得你同意后安装 Hopper;静态 JavaScript 分析则两个引擎都不需要。

实战:在没有源码的情况下搞懂一个功能

  1. 在任意项目里打开你的 agent,描述目标。README 自己的示例是让 agent 搞懂 Notes 应用的搜索是如何实现的、展示证据,然后为你的项目实现一个类似功能。
  2. REA 通过 MCP 检查目标。对 Electron 应用来说是模块、import、source map、路由、IPC 和原生插件关系;对原生二进制来说是伪代码、汇编、字符串、符号和调用关系。
  3. 让它实现。agent 基于返回的调查结果写代码并测试。

同样的工具不靠 agent 也能用。想从终端检查一个已解包的 JavaScript 或 Electron 应用:

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json

结果包含模块、import、Electron 边界及其证据。经常用终端的话,npm install --global rea-agents 会给你 rea 命令,rea update 保持更新——README 建议勤更新,因为 REA 迭代很快。

技巧

  • 从静态目标入手。JavaScript 和 .NET 检查只读取传入的文件,不会运行任何东西;运行时捕获会以你的用户权限运行目标,每种运行时指南都说明了其影响。
  • 「可分析对象」表覆盖面广但要求不一:离线 ELF 布局和 Linux 崩溃记录两行需要自备 pwntools,Android APK 需要 headless JADX 加完整 JDK,固件分析在 Linux 上需要 Binwalk 或 Unblob。动手前先查你那个目标对应的那一行。
  • 遇到 bug?先更新——rea update 或 npx rea-agents@latest setup——然后重试;README 说近期的版本修复很频繁。
  • 本地意味着本地:REA 在你的机器上分析目标。你的 agent 所用模型提供商有自己的数据政策。
  • Showcase 区是完整流程的实例——一个 DX-Ball 声像定位重建,通过了 3,205 个原始 x86 用例;还有一次对 Notion 的 Electron 剪贴板桥接的追踪。

何时不用这个 Skill

深度原生分析依赖 Hopper、Ghidra 或 IDA——都是另需要学习成本的独立工具——所以 REA 并没有取代逆向工程的本领,而是放大它。另外 README 的免责声明把法律责任放在你身上:这些工具用于合法的逆向工程研究,获取授权和遵守适用法律由你负责。如果你只是想要网页自动化而不需要分析,普通的浏览器 agent 是更轻的选择。


查看 排行榜 了解更多 skill。