夜雨聆风学习资料网

ARTICLE · 1141811

AI 开始"逆向"软件了:一个 MCP 让 Agent 读懂任意 App

AI 开始"逆向"软件了:一个 MCP 让 Agent 读懂任意 App
📌 导读(TL;DR,30 秒读完)
  • 它是谁:morluto/rea,一个把"逆向工程"封装成 AI Agent 可调用工具的开源 MCP 服务器。
  • 为什么火:今日 GitHub Trending 增速第一(约 +2,956 stars/天),总 Star 近 1 万,MIT 协议。
  • 有什么用:看到一个 App 的好功能,可以让 AI 在没有源码的情况下读懂它,再在你的项目里重写一遍。
  • 一句话体验:npx rea-agents setup
  • 本文适合:做 Electron / 前端 / App 逆向、想让 AI 介入代码分析的开发者。

一、先看数据:它今天有多火?

  • 项目:morluto/rea(REA = Reverse Engineer Anything)
  • 今日新增 Star:约 +2,956 / 天(今日趋势榜增速第一 🔥)
  • 总 Star / Fork:约 9,953 / 1,110
  • 语言:TypeScript 为主(源码超 1400 万字节),辅以 Java / Python / C++ / Swift 桥接
  • 协议:MIT
  • npm 包:rea-agents(当前 v4.1.0)
  • 首发:2026-04-14 —— 半年冲到近万 Star,迭代极快

在一众"AI Agent 又出了个壳"的项目里,REA 是少数真正把 AI Agent 和传统逆向工程工具链打通 的项目,所以它冲榜并不让人意外。


二、它到底是什么?一句话讲清

一个 MCP(Model Context Protocol)服务器 + CLI,让 AI Agent 能"逆向"任意软件:从 App 行为一路查到本地二进制。

作者的原话:

"看到一个你喜欢的 App 功能?让 Agent 用 REA 去调查它。它可以在没有源码的情况下检查这个 App,解释功能是怎么实现的,展示证据,并在你的项目里做一个类似的版本。"

换句话说:它把过去只有安全研究员才会用的 Hopper / Ghidra / IDA 这类反汇编、反编译工具,包装成了 AI Agent 能直接调用的标准工具集。

它面向的不只是"黑客",而是所有开发者:

"抄作业"≠照搬,而是理解原理后,用自己的技术栈重写。


三、核心方法论:Decompile → Understand → Recreate

REA 把一次完整的逆向拆成清晰的三步:

  1. Decompile(反编译):打开 App,恢复可读的代码、字符串、符号等线索。
  2. Understand(理解):沿调用关系一路追踪,直到 Agent 能讲清"这个功能怎么跑起来的"。
  3. Recreate(重建):把学到的行为,适配你自己的技术栈、界面与需求。

一个典型 Prompt 长这样:

逆向分析 Notes 这个 App。找出它的离线搜索是怎么实现的,
解释给我听,然后用 TypeScript + SQLite 在我的项目里做一个类似的版本。

REA 负责"读懂 App","写代码"交给 Agent 自己的编辑与测试工具——各司其职,不越界。


四、"读懂"的底气:200+ 工具的分类目录

REA 暴露给 Agent 的工具,覆盖从二进制到网页的多个层面(据官方工具目录):

  • 本地二进制检查(41 个):函数、伪代码、汇编、字符串、符号、调用、引用、注解、字节读取……
  • 调查工作流(14 个):App 总览、函数档案、原生 API 与分发、批量反编译、功能追踪、调用图……
  • macOS 原生工具(7 个):Mach-O 元数据、代码签名、plist、架构、Swift 符号还原(无需启动 Hopper)
  • 托管代码 PE/.NET(7 个):.NET 身份、元数据、CIL 指令、原生依赖……
  • Android APK(5 个):清单声明、类搜索、成员清单、方法反编译(基于无头 JADX)
  • 固件(2 个):固件分区检查与提取(Binwalk / Unblob)
  • 浏览器观测(9 个):页面结构、网络元数据、脚本、source map、截图
  • Electron / JS 运行时(7 个):渲染进程观测、静态 App 映射、静态/运行时对账
  • 工作区与证据(21 个):会话、证据包、进程/制品/函数对比、待解决问题追踪

这意味着:Agent 不需要你逐个教它工具,它自己能按"当前想搞清楚什么"来选择工具。


五、它凭什么让人放心?——三个关键设计

1️⃣ 本地优先,不上传

REA 没有云端分析服务。所有 Provider 都在本地分析制品、抓取行为,App 不会被上传到托管分析服务。

对安全敏感、涉及商业代码的场景,这一点非常关键。

2️⃣ 一切结论都带"证据"和"边界"

REA 不吹牛,它会明确告诉你结论背后的证据,以及它的局限:

  • 不声称能恢复"原始源码";
  • 不声称能"自动克隆"一个 App;
  • 反编译产出的是伪代码,而非原始代码;
  • 无法证明的地方标成 unknown,而不是假装通过。

这种"工程诚实",恰恰是 AI 逆向最容易翻车的地方,REA 把它做成了产品原则。

3️⃣ 复用你已有的专业工具(BYO)

REA 不捆绑任何反汇编引擎,而是连接你已有的:

  • Hopper:可选由 setup 代装(含演示模式),深度原生分析;
  • Ghidra:连接你已有的 Ghidra 12.1.4 + JDK 21,Linux/macOS 支持函数注解;
  • IDA Pro:复用你已有的 ida-pro-mcp,只读分析当前 GUI 目标或无头数据库。

专业用户不用推翻现有工作流;小白也能靠 setup 一键装好 Hopper 演示版先跑起来。


六、上手有多简单?三行命令

方式一:给 Agent 装 REA(推荐)

npx rea-agents setup
  • 勾选要接入的 Agent(Claude Code、Codex、Cursor、Gemini CLI、Windsurf、VS Code、GitHub Copilot CLI 等十几个);
  • 在应用前展示具体改动路径,并备份现有配置;
  • Hopper 是否安装单独征询同意。

方式二:命令行一把梭(静态分析 JS / Electron)

npx -y rea-agents@latest analyze-javascript-application /绝对/路径/app --json

不需要 MCP、不需要 Hopper/Ghidra,也不会执行目标程序。

方式三:装全局命令

npm install --global rea-agents && rea setup

环境要求:Node.js **22.19+ / 24.11+ / 26+**;支持 macOS 12+、Ubuntu 24.04+、Fedora 41+、64 位 Arch Linux。深度二进制分析才需额外装 Hopper/Ghidra/IDA。


七、它和"AI 写的逆向脚本"有什么区别?

  • 工具接入:普通脚本要靠 Agent 每次现学现写 → REA 是 200+ 标准 MCP 工具,开箱即用。
  • 使用者:面向安全研究员 → 面向所有开发者。
  • 数据流向:样本常被传到模型云端 → REA 本地分析、不上传。
  • 结论可信度:"我觉得是这样" → 带证据 + 明确标注局限/未知。
  • 专业工具:重复造轮子 → 复用 Hopper / Ghidra / IDA。
  • 终局:得到一份分析报告 → 得到"理解"并能重建成你自己的功能。

它不试图替代 IDA,而是当"Agent 与专业逆向工具之间的翻译官"。


八、冷静看:值得现在就试吗?

✅ 适合你,如果你:

  • 想研究某 App 的精妙功能,并合规地在自己产品里复现思路;
  • 做 Electron / JS / 网页应用分析,想快速理清模块、IPC、路由与存储结构;
  • 需要在本地、不上传样本的前提下做静态分析;
  • 已用 Hopper/Ghidra/IDA,想让 AI Agent 帮你自动跑一遍初筛。

⚠️ 需要注意:

  • 深度原生分析依赖外部引擎(Hopper/Ghidra/IDA)与平台/版本要求;
  • 部分能力仍在路线图中(原生运行时观测、更多移动端/固件目标等);
  • 项目迭代非常快,main 可能领先于 npm 发布版本;
  • 务必在合法合规、拥有授权的前提下使用逆向工程能力。

相关学习资料