REA:让 AI 逆向任何东西的 MCP 工具,从二进制到应用行为
一句话介绍
REA(Reverse Engineer Anything)是一个开源逆向工程 MCP 服务器,把 Ghidra、Hopper、IDA、JADX、浏览器、ADB 等一票逆向工具的调用能力统一封装,通过 MCP 协议接入你的 AI Agent。你的 Agent 不用源码,就能看懂一个应用、一个二进制、一个网站是怎么实现的,并且每个结论都附证据,不是瞎猜。
项目官网:rea.tools。GitHub:com/morluto/rea 。当前 80.1k+ stars、17.3k forks,MIT 协议,持续迭代。
一、为什么 REA 值钱:它不是又一个反编译工具
市面上反编译工具很多(Ghidra、IDA、Hopper、JADX),但都是给人用的 UI。REA 的差异化在于:
工具被 Agent 直接调用:你的诉求是"看懂这个功能怎么实现的",Agent 自己会选工具、读伪代码、追引用、拿证据,最后直接给你一版可复现的实现。
全链路证据驱动:每个结论都带 evidence 和 limitations,AI 说的每个结论你都能回去验证,防幻觉、可审计。
一套接口通吃多栈:原生二进制、JS/Electron、.NET、Web、Android APK、固件、崩溃现场、进程行为,全部走一个 MCP 服务器。
动静结合:静态分析(JS、.NET 直接读文件不跑程序)和动态分析(浏览器、ADB、进程抓取)都支持。
工程化到位:一条命令完成 Agent 注册 + 技能安装 + 配置备份,兼容已有 Ghidra/IDA/Hopper,还带命令行直接可用。
二、快速上手
环境要求:Node.js 22.x(>=22.19)、24.x(>=24.11)或 26+,配 npm。
接入你的 Agent(注意,下面这个命令会自动安装和载入部分agent)
bash
npx rea-agents setup
它会自动检测你机器上已安装的 Agent(Claude Code、Codex、OpenCode、Cursor 等),让你勾选要接入的,展示配置改动并备份原配置,确认后写入,最后重启 Agent 生效。
终端直接使用(不依赖 Agent)
bash
npx -y rea-agents@latest analyze-javascript-application D:/apps/example --json
长期使用可全局安装:
bash
npm install --global rea-agents
rea --help
不支持的 Agent 怎么办(实测)
REA setup 目前自动适配 Claude Code、Codex、Cursor、Gemini CLI 等,但如果你用的 Agent 不在列表里(比如我用的 TeleAgent),只要它支持本地 MCP 就能手动接入:
在 Agent 的 MCP 配置里加:
json
"mcp": {
"rea": {
"type": "local",
"command": ["npx", "-y", "rea-agents@latest", "mcp"],
"enabled": true
}
}
保存后重启 Agent,就能在对话里直接调用 REA 工具了。实测可用,就是要注意首次启动 npx 会拉取包,需要几秒钟。
三、能分析什么(官方支持矩阵)
目标返回内容需要什么原生二进制伪代码、汇编、字符串、符号、调用、引用Hopper/Ghidra/IDA 任一离线 ELF 布局段、节、原始符号、重定位、静态防护Linux x64 + pwntoolsEVM 字节码调度选择器、字节偏移、推断参数Linux x64录制的 Linux 崩溃寄存器、信号、线程现场、映射pwntools/GDBJavaScript/Electron模块、导入、路由、IPC、原生桥Node.js + npm(无需反编译引擎)网站页面结构、脚本、网络观察、截图Chrome 系浏览器网络抓包请求/响应、暴露载荷、来源位置HAR/mitmdump.NET 程序集元数据、CIL 指令、原生依赖、构建对比纯静态Android APKManifest、类、反编译方法、引用JADX + JDKAndroid 设备设备、进程、日志、抓屏、APK/文件传输adb固件 Firmware分区、提取、原生分析交接Binwalk/UnblobApple 应用/包文件清单、digest、plist、bundle—进程行为终端输出、交互、退出、文件系统观察Linux/macOS + PTY