ARTICLE · 1200942
没有源码,AI 怎么看懂一个软件?聊聊 Rea
零象限 · 方法手记
有界面,就能看懂实现?
别只问答案,
去找证据
Rea 项目观察 · 功能追踪 · 能力与隐私边界
2026.10.17 | 公开案例与独立验证分开看
本篇三个看点
它解决什么 / 怎样开始 / 边界在哪里
看到一个软件里的好功能,很多人的第一反应是截张图,丢给 AI。
「照着做一个。」
按钮的位置、配色、圆角,确实可以照着画。可一旦问题变成「搜索怎么组织」「复制一段内容时发生了什么」「这段计算为什么得出这个结果」,截图能提供的信息就不够了。
你看见的是结果,想理解的却是过程。
Rea 想往这中间补上一座桥。
它的全名是 Reverse Engineer Anything,名字很大,直译过来是逆向工程任何东西。但理解这个项目,最好先把 Anything 放一边。
它不是一个新发布的大模型,也不是把软件丢进去就能吐出完整源码的魔法。它是一套让 AI 助手调用分析工具、读取软件线索,并把结论连同证据交回来的工具。[1]
这次根据项目文档、部分契约和源码整理,未安装 Rea,也未运行案例。下面讲的是它的设计、作者公开展示的案例,以及可以怎么开始,不把阅读材料写成亲测体验。
Rea 最有意思的地方,不是让 AI 更敢猜,而是试图让它在解释软件时,有东西可以查。
先拿一个具体的例子说。
项目公开展示过一个 Notion 剪贴板案例。它研究的不是「把 Notion 整个复制出来」,而是沿着一条具体链路追踪,页面里的剪贴板接口,怎样经过中间桥梁,最后走到桌面应用的主进程。[2]
这里有个词叫 IPC,可以把它理解成应用内部不同进程之间的消息通道。你在界面上做了一个动作,真正完成工作的,可能是另一个进程。
看上去只是按了一次复制,背后却有好几次交接。
截图告诉你复制按钮长什么样,调用链才能帮你解释,内容到底经过谁,最后以什么格式进入剪贴板。
这就是 Rea 想解决的问题,少一点看图猜实现,多一点沿线索追原因。
当然,能追到一段链路,不代表理解了整个产品。公开案例也只是特定目标、特定功能的展示,不能推导出任意软件都能顺利分析。
另一个案例更能说明它的价值和边界。
作者展示过对 DX-Ball 声音左右声道计算的重建,报告了 3,205 个原始 x86 测试案例,以及 63 个编译后函数字节的匹配。[2]
这个数字看着很漂亮,但它对应的是一个明确的计算片段,不是整个游戏。
它值得关注的,是验证方式。不是「AI 说自己理解了」,而是拿重建结果去对照原始行为,甚至比较特定编译结果。
一个小函数有证据地做对,比对整个软件没有边界地宣称看懂,更有价值。
说到这里,逆向工程这个词,也可以放轻一点。
不必一听见它,就只想到破解软件。维护自己没有完整资料的旧系统、理解获准研究的文件格式、追踪兼容性问题、学习一个具体算法,都可能需要从结果往回找原因。
但项目开源,不代表研究对象也自动向你开放了权利。使用前仍要确认目标、素材、账号和操作的授权范围。别把「工具允许调用」当成「有权这样做」。
Rea 本身怎样接到 AI 身上?
它提供 CLI 和 MCP 两种入口。CLI 就是终端命令;MCP 可以先理解成一种接工具的方式,让支持它的 AI 助手知道有哪些工具可以用,以及该怎么调用。[3]
工作关系大致是这样。
你提出问题,AI 助手决定要查什么,Rea 调用对应分析能力,再把结果和证据返回。助手据此继续追问、解释,或者编写一个待验证的实现。
所以,它不是替代所有分析工具,而是把这些工具接进同一条调查流程。
对于原生二进制的深入分析,通常需要 Hopper、Ghidra 或 IDA 这样的分析引擎。JavaScript 和 Electron 的静态分析,则不需要先安装这一类原生分析引擎。[1]
同样叫分析,实际准备工作差别很大。
这张表是入口说明,不是通吃全部格式的承诺。相同扩展名可能对应不同部署方式,工具也有不支持和无法确定的情况。[3][4]
这里还有两个容易混淆的区别。
一个是静态分析和动态观察。
静态分析像把电器断电后打开外壳,看线路怎么接。Rea 的相关 JavaScript 工作流读取目标文件,不执行目标应用。它能给出结构线索,但不能仅凭这些线索证明,真实点击之后一定会发生什么。[4]
动态观察则要让东西运行起来。打开程序、输入内容、触发按钮,再查看实际反应。
它的信息可能更贴近真实行为,也可能涉及账号、网络、进程、文件和系统权限。不能因为任务写着「分析」,就把所有动作都当成没有副作用。
另一个是重建功能和恢复原始源码。
你可能根据证据,写出一个在若干输入下表现相同的实现。可原作者的变量名、注释、工程结构、全部异常分支,以及没有观察到的行为,不会因此自动回来。
复现了一个结果,和拿回整个工程,不是一回事。
Rea 更适合作为调查助手,不适合作为一键复刻的保证书。
那么,它怎样避免「听起来很有道理,其实证据不够」?
项目不只有展示页。它的 MCP 契约里定义了证据来源、标识、摘要视图,以及限制和未知项。部分结果还包含内容哈希,可以理解成用来核对内容是否变化的指纹。[4]
这些设计不能保证结论正确,但能让你追问,判断是从哪里来的,分析有没有被截断,哪些东西根本没有观察到。
这也解释了为什么别只向助手要一句结论。
可以要求它把「直接观察到的事实」「根据线索做出的推断」「暂时没有依据的问题」分开。证据不够时,留下一个未知,比补出一段流畅解释更诚实。
实际使用还会遇到一个很朴素的问题,材料太大。
官方 CLI 文档举了一个例子,某个 Obsidian 应用的完整分析证据文件达到 334MB,而它的摘要视图大约 10KB。[3]
这不是说每个应用都能压缩到这个比例,更不是模型费用保证。它提醒我们,不应该把所有结果不加筛选地塞进对话。
先看总览,再看相关模块,再沿具体功能追踪。就像查资料,先确定问题,再翻对应的页。
如果你想试,建议从一个有权研究、能够离线读取的 JavaScript/Electron 样例开始,不要第一天就挑战复杂商业客户端。
截至 2026 年 10 月 17 日核对,仓库与 npm 发布包均为 6.5.0。项目要求 Node.js 22.19 及以上的 22.x、24.11 及以上的 24.x,或 26 及以上版本,不能简单理解成「随便一个新版 Node 都行」。[5]
Node.js 是运行这套工具的环境。先准备好它和 npm,再看下面的命令。
以已经安装 Claude Code 的读者为例,可以先预览 Rea 准备修改哪些配置。
bash
npx rea-agents@6.5.0 setup --client claude_code --dry-run
这里固定版本,是为了对应本文核查的内容,不表示以后都不该更新。版本变化时,先看官方发布与安装说明。
还有一个细节,dry-run 预览的是 Rea 的配置变更,并不表示整个命令零执行。第一次用 npx,仍可能联网下载并运行这个包。请核对包名与官方来源,不要从同名镜像随便安装。[5]
看清配置路径、将添加的服务和技能,再去掉 dry-run,进入正式配置流程。
bash
npx rea-agents@6.5.0 setup --client claude_code
按提示审阅并批准。Hopper 是另外的可选项,不做原生分析时,不必为了把工具都装齐而安装它。完成后,按提示重启助手。[5]
只装一个同名 skill,不等于工具已经接通。官方说明,skill 提供调查流程指引,setup 才负责注册 MCP 服务并配上相应指引。[1]
你可以再检查一次环境。
bash
npx rea-agents@6.5.0 doctor --client claude_code --json
doctor 是诊断,不是任务验收。它能帮你发现配置或依赖问题,但不能证明某个目标已经分析成功。其他客户端的参数,请按安装文档调整。[5]
第一次提问,不建议直接写「研究这个软件,然后重做一个」。
可以把任务收紧成这样。
text
这是我有权研究的本地应用目录。
请先识别目标类型和当前可用的分析能力。
本轮只分析搜索功能相关的静态结构。
说明入口、关联模块和调用线索,附上证据位置。
把已知事实、推断、未知项分别列出。
不要启动目标应用、访问账号或调用外部服务。
如需要动态观察,先列出动作与可能的副作用,等我确认。
不要因暂时找不到线索就编造实现。
先输出分析报告,暂时不要重写整个应用。
执行前,把目录和具体功能说清楚。这是教学提示词,不是本次已经运行过的任务。
先拿到一份能对照的报告,再决定要不要继续。这样即使遇到问题,也比较容易知道卡在环境、能力、材料,还是判断上。
至于门槛,别被一行安装命令骗了。
下面只是本文的主观估计,以能使用终端、但没有逆向经验的开发者为起点,1 最低,5 最高,不是官方评分,也不是成功概率。
有前端经验,可能更容易读懂 JavaScript 模块图。有底层经验,原生分析可能顺手一些。但无论哪条路,能调用工具和能判断证据,都不是同一种能力。
费用也不能只看开源两个字。
Rea 自有代码采用 MIT 许可证,但 Hopper、IDA 等第三方工具仍有各自的授权条件。模型调用、存储和你的分析时间,也可能产生费用。免费工具、试用版和商业授权,不应混成同一笔账。[6]
电脑没有一个适用于所有目标的配置答案。只看静态模块,与启动完整分析引擎、运行应用和处理大证据文件,资源需求不同。先用小样例确认流程,再根据实际内存、磁盘和耗时决定要不要升级。
最后还得提醒一句隐私。
官方说 Rea 在本地分析目标,但 AI 助手会收到工具结果,所用模型供应商有自己的数据处理规则。[1]
如果调用云端模型,返回的代码片段、字符串、路径和其他分析内容,就可能随着上下文被发送过去。
本地分析,不等于整条工作流绝对离线。
涉及公司程序、未公开数据或客户材料,先确认使用范围和数据去向。需要严格离线时,要核查整条链路,而不是只看分析工具装在哪里。
聊到这里,Rea 真正值得关注的方向也就清楚了。
它试着把 AI 从「根据描述写一个答案」,往「拿着工具寻找线索,再给出解释」推了一步。
这一步有用,但离可靠的调查结果,中间还有人的问题意识、工具能力和验证工作。
软件不会因为 AI 更会说话,就突然变得透明。好的工具,是让那些原本看不见的交接,多留下一点可以追索的痕迹。
理解,比照着画难。留下证据,也比给出结论麻烦。
但如果真想学会一个功能是怎样工作的,这些麻烦,值得保留。
零象限
保持好奇,也保留判断。
资料与阅读入口
截至2026年10月17日,本文核查仓库提交为4a076f368c62bdfb19415accad342e03a38d1005,npm包为6.5.0。下方源码链接固定到该提交;项目后续版本可能不同。文中的案例数字来自作者材料,并非本次独立复现。
[1] Rea 项目说明与常见问题
[2] 作者案例入口 · DX-Ball 案例 · Notion 案例
[3] CLI 与证据读取
[4] MCP 工具与证据契约
[5] 安装、配置与诊断 · 版本与运行环境 · npm 包
[6] MIT 许可证 · 第三方工具与许可说明















































































