ARTICLE · 1187890
软件没有源码,AI 也能拆开看:一句话读懂它的内部实现
平时用软件,总会碰上一两个「这功能是怎么做出来的」的瞬间:某个应用的搜索又快又准,某个小工具只有几百 KB 却什么都能干。
想搞明白,以前只有一条老路:反编译。反汇编出来的是汇编指令和伪代码,看得人头大,还得自己在成千上万个函数里拼出「它到底怎么实现的」。
现在多了一条路:让 AI 直接拆开一个软件,把代码和证据摆到你面前。今天写的这个工具,做的就是这件事。
一、它能干什么
这是我实测时对 AI 说的一句话:
用 REA 弄清 Obsidian 的搜索功能如何工作,展示证据,并为我的项目实现类似功能它自己找到 Obsidian 装在哪、判断出这是 Electron 应用,然后拆开分析。最后给出的是这个:

五个核心组件(分词器 → 解析器 → 操作符表 → 查询对象 → 搜索引擎)、九个搜索操作符的映射表(path:、file:、tag: 各对应哪种匹配算法),以及性能设计上的取舍。
更关键的是它自己标注了证据来源:分析对象的路径和 SHA-256、证据编号,并且明确区分「观察到的代码」和「推断」。
能做这些事:
二、和已有的方案比
这个需求以前也有工具 —— 我前面写过一篇 Ghidra MCP。差别在定位:
| 不装引擎能用吗 | |
它是一套工具箱,Ghidra MCP 是一把手术刀。不想为了看一个 Electron 应用去装 Ghidra(光下载就几百 MB、还要配 JDK)的话,它更省事。两者可以并存。
三、安装
实测环境:Windows 11 + Node.js v24.15.0 + Claude Code(VS Code 扩展),安装和提问全流程跑通。
第 1 步:前置检查
Node.js 版本要在 22.x、24.x 或 26+(22.19 / 24.11 以上)。CMD 里检查:
node -v npm -v
另外先想清楚你要分析什么:
| 原生二进制(exe / dll) | 要 |
先不装引擎也没关系 —— 后面第 4 步单独说。
第 2 步:一条命令装好
CMD 里执行(不用管理员身份):
npx rea-agents setup下载慢或长时间没反应时,先切国内镜像(第三方镜像,非官方提供)再重跑上面那条:
npm config set registry https://registry.npmmirror.com
首次运行会先问要不要下载安装 REA 本体,按 y 回车:

装好后命令会依次出现三个界面,按提示走:
界面 1:选要配置的智能体
它列出检测到的客户端(例如 Claude Code, Codex)。以前注册过的默认打勾,没检测到的也能手动勾。确认后回车。

界面 2:检查变更
显示 Ready to review 和要改动的文件,底部问 Apply these 4 changes?。选 Yes, apply 回车。

想跳过界面直接指定客户端,用这条(把 claude_code 换成你要用的标识):
npx -y rea-agents@latest setup --client claude_code界面 3:安装完成
提示 Restart Claude Code, Codex to load REA.,说明注册已经写好了。

第 3 步:重启客户端
不重启它不会加载。
| 完全关闭 VS Code 再打开 | |
重开之后在 Claude Code 里敲 /mcp,看到 rea · connected(我这边 170 个工具)就说明它加载好了:

第 4 步(可选):要分析原生二进制才做
只分析 JavaScript / .NET / 数据库的话,这步跳过。
需要装 Ghidra 12.1.x 加一个 64 位 JDK(Ghidra 12.1 要求 JDK 21 或更新)。REA 不帮你装 —— 官方明确说它不安装或升级 Ghidra、Java、Python、Node.js。
装完在 PowerShell 里指向它们并复查($env: 是 PowerShell 语法,CMD 不适用):
$env:GHIDRA_INSTALL_DIR = "C:\tools\ghidra_12.1.4_PUBLIC" $env:JAVA_HOME = "C:\Program Files\Java\jdk-21" npx rea-agents@latest doctor --json⚠️ Windows 上有两条限制:Hopper 装不了;原生分析是实验性只读边界,Ghidra GUI 状态、注解、其他架构都不支持。要深度逆向还是建议 Linux。
第 5 步:验证
在同一个窗口里依次执行两条(不要新开窗口)。
第 1 条:
npx rea-agents@latest doctor --client claude_code
第 2 条:
echo %ERRORLEVEL%
第 2 条显示 0 就是通过;显示 1 说明有必需项没过。
两点别误会:输出里 Hopper、Ghidra、IDA 报缺失是正常的(不影响 JavaScript / .NET 分析);两条必须在同一个窗口一前一后跑,新开窗口取不到上一条的退出码。
Codex 用户把命令里的 claude_code 换成 Codex 对应的标识即可 —— 装法完全一样。这条我没在本机跑过,是按官方文档写的。
四、使用
装好之后,直接在对话框里用自然语言说就行。官方内置了六类调查:
⚠️ 两件事决定它好不好用:
1. 给出目标在磁盘上的路径。只说「Obsidian」不给路径,AI 找不到就会去上网搜。
2. 点名「用 REA」。AI 手上工具很多,不点名它可能挑别的。
五、我实测撞到的 3 个坑
坑 1:提示 'rea' 不是内部或外部命令
现象:敲 rea doctor,报这个。

原因:rea 这个短命令要全局安装之后才有;上面第 2 步的装法没做全局安装。
解决:命令前加 npx rea-agents@latest,即 npx rea-agents@latest doctor --client claude_code。
坑 2:验证的退出码显示 1
现象:第 5 步第 2 条拿到 1,但看不出哪里错了。
原因:注册项和实际配置对不上了(输出里的 config_drift)。
解决:看输出里 scope_checks 段没通过的项 —— 每项下面都有一行 remediation,直接写着该做什么。我这次那行说的是「重跑 setup 刷新注册,再重启客户端」:
npx rea-agents@latest setup
坑 3:客户端一问就反复压缩
现象:发完提示词后,会话连续压缩三次,然后弹红字说上下文反复爆掉。
原因:这个工具自带 170 个工具,定义一次全进了上下文。如果你的客户端接的是国产模型的兼容接口(比如 DeepSeek 的 Anthropic 格式地址),客户端的「工具按需加载」会被自动关掉,这些定义就全量压进上下文 —— 跟对话内容多少无关。

解决:在客户端配置文件里加一行开关,然后完全重启:
"ENABLE_TOOL_SEARCH": "true"加在配置文件开头的 env 段里,不是加在 MCP 服务配置里。 改完重启,占用直接掉下来(我这边从 196.6k 降到 14.2k):

万一加了没效果,说明你那个接口不支持,那就退回「平时把 REA 禁用、要用再开」。
六、写在最后
这篇的重点不是安装,是「没有源码」已经不是障碍了。
如果你只做一件事:装好之后,挑一个你一直在用、又好奇它怎么实现的软件,问一句「这个功能怎么做的,给我看证据」。看一次带证据的拆解,比读十篇讲原理的文章都直观。
它不适合指望一键出成品逆向报告的人 —— 它给的是证据和线索,最后的判断还得你自己下。
它的坑主要在客户端配置上,踩一次、加一行配置就过去了;装好之后用起来很顺。
如果你身边有做安全、做逆向,或者单纯好奇「这软件怎么做的」的朋友,可以转给他。
如果你在用它的时候卡在某个坑上,或者想让我把某一类分析单独写细一点,留言告诉我。















































































