ARTICLE · 1139378
没有源码,AI 也能把别人的 App "拆"个底朝天?

你有没有盯着某个 App 的某个功能,心里冒出一个念头——"这到底是怎么实现的?"
以前,要回答这个问题,你得自己打开 Ghidra 反编译,把重建出来的伪代码一段段贴进聊天框,再祈祷 AI 能看懂那堵"重建版 C 代码"的墙。每追问一句,就重来一遍。那种上下文切换的税,让二进制分析更像体力活,而不是工程。
现在,有人把这个循环整个干掉了。它就是本周冲上 GitHub Trending 第一的项目——morluto/rea。
它到底是什么
REA,全称Reverse Engineer Anything,一个 TypeScript 写的项目,MIT 协议,npm 包名 rea-agents。它有两种形态:
MCP Server
CLI 命令行
一句话概括它的定位:把"没有源码的软件",交给你的编码智能体去查。你指给它一个 App,问"这个功能怎么做的",它去反编译、顺着代码追、把证据摆出来,甚至帮你照着做一个。
核心三步:Decompile → Understand → Recreate

Decompile(反编译) 开包,恢复可读代码、字符串、命名线索。 Understand(理解) 顺着调用图、交叉引用,把某个功能讲清楚,并附上证据。 Recreate(重建) 把理解变成你自己技术栈里的一个功能。
它能"看"进哪些东西
这不是个只会调接口的包装壳,它的工具清单相当硬核:
原生二进制:Mach-O / ELF / PE / Mac .app,经 Hopper 或 Ghidra,外加只读的 IDA 适配器——列函数、搜字符串、读汇编、反编译、追交叉引用与调用图。
JS / Electron:无需运行 App,就能画出模块图、source map、路由、IPC 通道和存储结构(很多大厂桌面端都是 Electron)。
.NET 程序集:读取元数据与 CIL 指令。
Android APK:v4.1.0 新增,headless JADX 静态分析。
固件:v4.1.0 新增,Binwalk / Unblob 解包。
网页:通过本地 Chrome 的 CDP 端口,被动观察页面结构、网络与脚本证据。
v4.1.0(10 月 6 日发布)还顺手加了Windows x64 在 Ghidra 下的只读分析和原子级函数注解。据 README 工具表,仅原生检查就有41 个工具,加上 14 条引导式调查工作流(也有媒体报道称工具总数 120+)。
上手就三步
环境要求:Node.js 22.19+(或 24.11+/26+);macOS 12+ / Ubuntu 24.04+ / Fedora 41+ / 64-bit Arch Linux;Windows 的 x64 PE(Ghidra)目前为实验性支持。
最省心的路径是官方引导安装——它会先检测你装了哪些智能体、预览将要改动的配置、备份现有配置,确认后才注册 MCP:
想用命令行的同学也可以全局安装:
装好之后,直接对你的智能体说一句大白话就行:
本地优先是它的重要底色:分析全程在你本机跑,不上传任何数据;每个结论都被记录成可复现的"证据包"(Evidence bundle),可以导入、导出、跨调查对比。
法律与边界,必须说清

看到这种工具,第一反应往往是"这合法吗?"答案基本是可以,但有两个边界:
最后说两句
REA 不是"一键克隆 App"的魔法棒,而是一套能被验证的调查流程。它的价值在于——把过去只有安全研究员才耐得下心做的 Ghidra / Hopper 工作流,变成了编码智能体顺手就能走的一步。
对想复刻别人功能、做 CTF 或安全研究的开发者来说,这把椅子,终于递到你手边了。