REA 是什么:没有源码,也能让 AI 说清一个软件是怎么做的

REA 是什么:没有源码,也能让 AI 说清一个软件是怎么做的

一、REA 补的是哪块短板

REA(Reverse Engineer Anything)是一个开源的逆向分析工具。它本身不做逆向,而是通过 MCP 协议,把 Claude Code、Codex、Cursor 这类 AI 编程 Agent,与 Ghidra、Hopper、IDA 这些专业逆向工具连起来。

换句话说:AI 负责提问和串联线索,专业工具负责给出证据。你在对话框里描述目标,Agent 通过 MCP 在本地调用 REA 分析,最后交回带证据链的结论——伪代码、调用关系、字符串、符号,都能对上号。

二、它能啃下哪些目标

目标类型具体做什么
原生二进制解析 Mach-O、ELF、PE,返回伪代码、汇编、字符串、符号和调用关系
JavaScript / Electron 应用静态梳理模块、入口、IPC 通道和 source map,不需要真的把应用跑起来
网站通过本地 Chrome DevTools 端点,被动观察浏览器行为、页面脚本和网络请求
.NET 程序集不执行程序,直接看元数据、CIL 指令和原生代码边界
Android 应用借助 JADX 反编译 APK,查看清单声明、类和方法
固件与包文件用 Binwalk 提取固件区域,或直接生成 ZIP、APK、ASAR 等归档的文件清单
版本差异比较同一个应用两个版本的二进制差异,生成变更报告
网络抓包解析 HAR 文件或 mitmproxy 捕获,把请求和源码位置关联起来

还有一项"代码重建辅助":Agent 基于分析线索,帮你为项目写出相似功能,再回头验证对不对。

三、装起来只要 5 步

  1. 准备环境:装 Node.js(≥22.19)和 npm,并确保已经装了 Claude Code、Codex、Cursor 等任一支持的 AI 编程 Agent。
  2. 一键安装:终端运行 npx rea-agents@latest setup,选择要接入的 Agent,审核它要做的配置变更。
  3. 审批配置:确认 setup 提出的 MCP server 注册和 workflow 指令修改(会自动备份原配置),然后重启 Agent。
  4. 准备逆向引擎(可选):要深度分析原生二进制,需要本机已有 Hopper、Ghidra 或 IDA;纯 JS / Electron 分析不需要。
  5. 用自然语言提问:例如"分析这个应用的搜索功能怎么工作,展示证据,并为我的项目实现类似功能",之后 Agent 会自动调查。

四、它为什么比"让 AI 猜"靠谱

普通大模型读到二进制文件,只能给出听起来合理的猜测;REA 的每条结论后面挂着伪代码、汇编和调用链,你可以逐条核对。

它另外三个优势也值得说清:不用先学反汇编,门槛落在"会不会提问"上;同时支持 Claude Code、Codex、Cursor、Gemini CLI、Windsurf 等主流 Agent;底层复用 Ghidra、Hopper、IDA 几十年积累的解析能力,不是从零造轮子。

五、动手之前先想清楚的三件事

  • 授权边界:只分析你有权分析的软件。破解他人软件、绕过授权校验属于违法行为,工具本身不改变这一点。
  • 本机算力与磁盘:Ghidra、IDA 这类引擎吃内存,大二进制分析要留足空间。
  • 结论要复核:AI 串联的线索仍可能错位,涉及关键判断时,回到伪代码和调用链自己看一眼。

一句话收束:REA 的价值不是"让 AI 帮你破解",而是把逆向工程里最费时的"找证据"环节自动化,让判断权仍然留在人手里。