夜雨聆风学习资料网

ARTICLE · 1138803

单日怒斩3k Stars!看别家APP好功能没源码?让Agent拆给你看

单日怒斩3k Stars!看别家APP好功能没源码?让Agent拆给你看

架构文摘,每天分享一个实用开源项目

具备产品思维的开发者估计都有过这种瞬间:刷到一个 App,某个功能做得真漂亮,你想"抄"一下思路——结果它不开源,源码你一行都看不到。

过去这基本是死路:要么放弃,要么自己啃逆向工程后者是门槛极高的硬核手艺,Hopper、Ghidra、IDA 三个专业工具各玩各的,没点功底根本串不起来。

今天跟大家分享一个硬核AI Agent工具:REA。它是一个 MCP 服务器,把逆向工程的能力接给 AI agent。你直接对 Claude Code 说"搞清楚 Notes 的离线搜索是怎么做的,给我证据,然后给我的项目也做一个"——agent 就自己去拆。项目单日涨3k Stars,是近期 AI 工具里最猛的黑马之一。

一句话简介

它一句话说清:一个 MCP,把原生二进制、JavaScript/Electron 应用、.NET 程序集、网站全部连给 agent 做逆向分析。官方首页的 slogan 更直白:看到一个你喜欢的特性,弄懂它怎么工作,一直到二进制层。

本地运行、不留数据在云端,每个结论都带证据和局限。

三个真亮点

亮点 1:结论必须带证据,杜绝 agent 瞎编。 这是它最专业的地方。每次分析返回的不只是答案,而是 inline Evidence(内联证据)+ 恢复出来的调用图 + limitations(局限)+ unknowns(未知项)。agent 说"这个函数负责搜索"时,得给出证据链。证据 bundle 还能 import / export / compare 做对比,配合 --snapshot 复用不可变结果——同样的目标字节、操作、参数、工具设置才复用缓存,杜绝张冠李戴。

亮点 2:三大反汇编引擎全接入,还留了免引擎后门。 深度分析原生二进制,Hopper(setup 可自动装、支持 demo 模式)、Ghidra(自带 BYO,Ghidra 12.1.x + JDK 21)、IDA Pro(复用 mrexodia/ida-pro-mcp)三选一。但静态 JS/Electron 分析一个引擎都不用装、也不执行目标程序——rea analyze-javascript-application 直接映射模块、导入、路由、IPC 通道、存储。这才是大多数"抄思路"场景真正会用的入口。

亮点 3:MCP + CLI 双形态,100+ 工具一口吃。npx rea-agents setup 一键注册到 12 款 agent(Claude Code、Codex、Cursor、Gemini CLI、Windsurf、Devin、OpenCode、VS Code 等),终端里也能直接 rea analyze / rea decompile。工具目录按家族分了 12 类,加起来 100+ 个:原生检查 41 个、调查工作流 14 个、Android APK 5 个、浏览器观察 9 个……还有 rea doctor 全量体检、rea capture-process 进程行为捕获对比。

拆开看

REA 的调查模型是三段式,对应一次完整的"抄功能"旅程:

Decompile:打开目标,恢复可读的伪代码、字符串、符号名和元数据。注意 FAQ 里说得清楚——没有任何反编译器能保证还原原始源码,给的是伪代码和关系,不是逐行原码。

Understand:agent 顺着调用关系,从一部分代码追到另一部分,直到能解释某个功能到底怎么实现的。工具链一环扣一环:open_binary 打开 → search_strings 找线索 → find_xrefs_to_name 连到可执行代码 → get_call_graph 重建控制流 → procedure_pseudo_code 反编译关键例程。

Recreate:把学到的行为,用你自己的技术栈、接口、需求重做一个版本——是"适配重写",不是"复制粘贴"。

安装与配置

npx rea-agents setup          # 一键注册到 agent,选好目标后审批变更rea analyze /absolute/path/to/app --json   # 终端直接分析rea doctor                    # 全量体检(agent 注册/引擎/依赖)

三步走:setup 注册 agent + 装工作流指令(Hopper 是独立可选安装,需要你单独授权)→ 重启 agent → 直接描述你想搞懂的 App 或功能。只想快速试,可以绕开引擎,直接对解包出来的 JS/Electron 目录或 .asar 跑 rea analyze-javascript-application,返回 Evidence + 调用图 + limitations,不需要 Hopper/Ghidra/IDA,也不执行程序。

深度分析原生二进制时,Hopper 可以跑 demo 模式(有 vendor 限制),Ghidra 和 IDA 都是"自带 BYO"——Ghidra 12.1.x + JDK 21 配好路径即可,IDA 复用你已有的 ida-pro-mcp。

团队落地

统一认知:逆向分析的产出是"证据",不是"结论"。团队要接受这种工作方式——每个推断背后有 Evidence 和 limitations,未知项明确标注,而不是 agent 张口就给答案。这对做二进制审计、CTF 的人尤其重要。

沉淀规范:证据 bundle 支持 export 成规范 JSON、compare 做横向对比,配合 --snapshot 把成功的分析结果固化成不可变快照——同一份分析可以被多人复用,不会每次重跑。

门禁:合规门禁要前置。REA 本地运行、不上传云端(官方 FAQ 明确"no hosted analysis service"),但逆向软件本身可能违反目标软件的用户协议/服务条款——团队要在流程里定死"只分析自己有权分析的目标"这条红线,别等出了事再补救。

扩展:rea import-reference-source 可以导入历史源码作为对照参考(与当前观察分离),rea capture-process 记录受控的进程行为并对比分歧,适合做长期的项目演进追踪。

适合谁

该用:想"抄"某个 App 功能思路、又没有源码的开发者;做二进制审计、CTF、静态分析的安全/逆向工程师;想把 Hopper/Ghidra/IDA 的能力用 agent 串起来、又受够了自己手动切工具的人。

别急着用:只想看网站前端实现的,浏览器 DevTools 可能更直接;Windows 用户注意——原生二进制深度分析依赖 Hopper/Ghidra/IDA,其中 Windows x64 的 Ghidra 支持仍是实验性 P0 阶段(只读、仅本地 NTFS 上的 x86-64 PE);完全没有逆向/授权边界概念的人,建议先补合规认知再碰工具。

优缺点与避坑

优点:逆向工程这个高门槛领域被 MCP + agent 民主化;"结论必须带 Evidence + 局限"的证据链设计在 agent 工具里相当克制和专业;三大引擎全接 + 免引擎静态 JS 分析,覆盖从二进制到网站的多层目标;本地运行、不传云端;最近提交 2026-10-07 当天,有 CI、CHANGELOG、Discord,维护活跃。

局限与避坑:

  1. 合规红线(务必先看):逆向软件可能违反该软件的用户协议、EULA 或服务条款,某些地区还有法律风险。研究思路可以,别把拆出来的代码直接搬进产品——那不是"借鉴思路",是侵权。只分析你有权分析的目标(自己的程序、授权测试的、开源的),别拿商业闭源软件的内核逻辑直接商用。
  2. 引擎有门槛:Hopper/Ghidra/IDA 需要各自 license 或 BYO,Hopper demo 有 vendor 限制;Ghidra 12.1.x 得配 JDK 21。免引擎路径只覆盖静态 JS/Electron,原生二进制深度分析绕不开三大引擎。
  3. Windows 支持实验性:Windows x64 Ghidra 是 P0 阶段(只读、范围受限),进程行为捕获在 Windows 原生还不可用(需 WSL)。
  4. 不能还原原始源码:官方明确——给的是伪代码/汇编/符号/关系,不是原码。指望"一键反编译出源码"的人会失望。
  5. 个人项目,仍在成长期:10.4k Star 刚过万线,个人维护,open_issues 81。

个人观点

客观说,REA 最值得称道的不是它把逆向工程做得多全,而是它把逆向工程做得"可信"。在这个 agent 普遍爱瞎编的时代,一个要求每个结论都带 Evidence、limitations、unknowns 的工具,本身就是对"黑盒分析"这件事的敬畏——它承认逆向有边界(伪代码不是源码、missing evidence 不能算通过),这比吹"全能拆解"诚实得多。三大引擎全接 + 免引擎静态分析的组合,也让它从"给专业逆向工程师的玩具"降维成了"普通开发者也能上手"的东西。

但它踩的领域,能力越强,责任越大。逆向的边界从来不只是技术问题,更是法律和伦理问题:你拆的目标,你有权拆吗?拆出来的思路,你敢用吗?我的态度很明确——把它当"学习思路"的工具用,别当"复制代码"的捷径用。研究清楚一个功能为什么这么设计、怎么在自己的技术栈里重新实现,这是合法的工程;把别人闭源产品反编译出来的代码直接搬进自家产品,那是给自己埋雷。工具是中立且优秀的,用的人得有边界感。

GitHub仓库:

https://opengraph.githubassets.com

关注【架构文摘】,每天分享一个实用开源项目

本号持续更新实用有趣的开源项目。如果你不想逐篇翻阅往期文章,可以直接关注公众号【架构文摘】,在后台留言与号主互动交流。

如有收获,点个赞+转发+推荐,诚挚感谢

相关学习资料