夜雨聆风学习资料网

ARTICLE · 1177633

没有源码也能问清楚?19万星的 REA,我把仓库说明对了一遍

没有源码也能问清楚?19万星的 REA,我把仓库说明对了一遍

看到一个功能,没有源码,也能让 AI 拆开,讲清楚,再给你的项目做一版。

这句话不是我编的。它写在一个叫 REA 的 GitHub 仓库首页上。英文名把话说满了:Reverse Engineer Anything。中文 README 的标题更直,叫「逆向一切」。

仓库是真的。热度也不是标题党。

作者的 GitHub 账号是 morluto。写这篇文章的时候是 2026 年 10 月 13 日。我打开仓库页,Star 大约 18.99 万,按钮上已经显示 190k,Fork 大约 4.62 万,贡献者 157 人。README 里刚庆祝过 17 万星,正文还没改口,计数已经往前跑了。我打开页面时,当天还有新提交。GitHub 发布页上,最新的 npm 包是 rea-agents 6.4.0,大约两天前。安装文档里核对这个版本的日期,写的是 10 月 11 日。这不是一个弃坑两年、靠旧截图继续传的项目。

但先把那句「逆向一切」按住。

它狠。狠的地方,和这四个字,不是同一件事。

仓库在这:https://github.com/morluto/rea

官网在这:https://rea.tools/

中文站在这:https://rea.tools/zh-CN/

我没有在本机把 Hopper、Ghidra 跑通,也没有拿任何一个商业软件试过。下面能说死的,来自仓库说明、安装文档、免责声明,以及官网放出来的案例。案例里的数字是项目方写的,不是本账号复现的。


它不是一个会吐源码的聊天框

很多人会把它听成:装一个 AI,丢一个 exe 进去,它把源码吐出来。

不是。

REA 自己不替代 Hopper,也不替代 Ghidra,更不替代 IDA。它是一层 MCP。你已经在用的编程助手,通过这层去调用分析工具。助手提问。REA 去查本地目标,追踪相关代码。它交回来的不是一句「大概是这样」,而是发现、证据,以及这条结论的限制。助手再拿这些东西解释行为,或者写一版实现,然后测试。

终端里也能走同一套流程。不一定非要开着聊天窗口。

许可证文件上还能看到最早那次提交的说明。项目当时叫 betterBinaryMCP,定位是给 Hopper 做的增强 MCP,大约 6 个月前。我没有把这 6 个月的提交史逐条翻完。起源只对到这一条记录。现在的首页已经改口:一个 MCP,覆盖二进制、应用程序和运行时行为。

分析在本机跑。这句 FAQ 写了。下一句也写了,很多人会漏掉。工具结果会回到你的助手手里。助手背后的模型厂商,有自己的数据政策。

本地分析,不等于你拆出来的东西不会离开这台电脑。

别人传的是「AI 会逆向了」。它实际做的,是把分析工具接到你已经在用的编程助手上。看不懂证据的人,接到了也还是看不懂。


官网用一个百分号,把分工讲明白了

Windows 计算器里,200 + 10% 为什么等于 220。

这不是脑筋急转弯。加号后面按百分号,取的是第一个数的百分之十。200 的 10% 是 20,200 加 20 等于 220。乘号后面按百分号,是另一条规则:把当前这个数除以 100。200 乘 0.1 等于 20。同一个按钮,两条分支。

官网把这个例子摊开了。REA 负责交回处理函数的指令、反编译结果和调用。助手负责说哪条分支在算什么,再做成一个小计算器。他们还写了,这版结论拿微软公开的源码对过。

我转述的是官网的说明,不是我打开 calc.exe 验过的结果。

这个例子值钱的地方不在算术。在分工。

以前你得自己认分支、跟调用、把规则从指令里捞出来。现在你可以先问一句人话。捞证据的活,工具做。这笔账认不认,还是你的事。反编译和启发式结果可以是错的、可以是缺的。免责声明写了,别把伪代码当成原始源码。

官网还有一个公开网页小游戏的例子。Chrome 那只恐龙为什么会越跑越快。他们查的是页面里真正在跑的脚本,不是模型凭印象编的手感。规则写得很具体:起步是 6,没有撞上障碍时每次更新加 0.001,速度低于 13 才继续加。然后让助手做一个能自己调速度的小版本。

注意那个动作。看懂规则,再自己做一版。不是把原程序的资源打包带走。

他们甚至用自己的官网当演示目标,让助手检查 https://rea.tools/ ,再克隆这个网站。克隆的是他们自己的页面。不要把这句提示词,理解成一张去克隆别人产品的许可证。


「一切」是一张能力表,每行后面都有门票

先过运行环境。

REA 要 Node.js 22.x,且不低于 22.19;或者 24.x,且不低于 24.11;或者 26 及以上。还要有配套的 npm。安装文档写明,23、25 和预发布版不受支持。它不会替你升级 Node.js,也不会替你升级 npm。

然后看你要查什么。说明里的表很长。我按「要不要额外引擎」收成三档,免得你只记住左列。

第一档,不一定要 Hopper、Ghidra 或 IDA。

静态的 JavaScript 和 Electron。模块、导入、source map、路由、IPC,以及和原生扩展的关系。静态的 .NET 程序集。元数据、CIL 指令、声明的原生依赖、构建对比。这两类读你提供的文件,不运行那个程序。Go 二进制也可以做内置的静态检查,看内嵌的编译器版本、模块、替换和构建设置,说明写了不用先装 Go。Flutter 应用可以做静态 APK 解析。SQLite 可以看表、列、索引、视图和触发器,但对 Node 版本还有更细的要求。

第二档,要一套原生分析引擎。

真正的二进制:伪代码、汇编、字符串、符号、调用和引用。引擎三选一,Hopper、Ghidra 或 IDA。设置流程可以在你单独批准后安装 Hopper。Ghidra 和 IDA 用你已经装好的。REA 不附赠商业授权,不发密钥,也不接受破解版。这句写在许可证和免责声明里,不是我加的道德说教。

不同引擎支持的格式和系统不一样。大文件还可能要加长启动时间,环境变量分别是 REA_GHIDRA_STARTUP_TIMEOUT_MS 和 REA_HOPPER_STARTUP_TIMEOUT_MS。Ghidra 还有 16 位 DOS 分析。Windows 上的 Ghidra 被单独标成实验性支持,下面再说。

第三档,门票写在操作系统和外部工具上。

Android APK 要无界面的 JADX,加一个完整 JDK。说明写了 Linux、macOS、Windows x64。安卓设备要你自己的 adb,模拟器或真机。网站要一套 Chrome 系浏览器,能看页面结构、脚本、网络观察,也可以按请求截图。已经保存的抓包可以是 HAR,或 Fiddler Everywhere 的 SAZ。固件提取写的是 Linux 上的 Binwalk 或 Unblob。一部分数据包和逻辑信号分析,也写的是 Linux。进程行为捕获要 Linux 或 macOS 的原生终端。离线 ELF 布局、一部分已记录的 Linux 崩溃,要 Linux x64 上你自己提供的 pwntools。

表里还有 WASM、EVM 字节码这些行。每一行后面都跟着版本和系统。不要只看左列,就觉得自己什么都能拆。

Windows 用户把这段看完再决定今晚装不装。

安装文档写了,Windows 上不能通过设置流程安装 Hopper。Windows 上的 Ghidra 是实验性的 P0:x86 和 x86-64 的 PE 程序和 DLL,只读,还要求在固定的本地 NTFS 卷上。Ghidra 要用 12.1.x,JDK 要 21 或更新。这两样都得你自己装。REA 不会替你下载 Ghidra,也不会替你安装 Java。

所以「一切」,是项目想覆盖的范围。不是你这台 Windows 笔记本,今天晚上就能拆完的一切。

名字叫逆向一切。你的系统、你的引擎、你的授权,决定你今天能看哪一块。

还有一个版本坑。主分支比 npm 上的正式包新,而且新得很快。安装文档专门写了,main 上的能力和 @latest 不是一回事。你在 README 里刚看到的功能,可能还没进你装上的那个版本。写稿时,DeepSeek Harness 这个客户端就还只在主分支,6.4.0 里跑设置会告诉你不受支持。要用新能力,先看发布边界。


他们公开的案例很硬,别当成你的成绩单

README 里放了三个。都是项目方的案例研究。我没有复现。数字也没有在本机重跑。

1996 年的 Windows 游戏 DX-Ball。沿着声音调用,找到按位置计算声像的函数,把不完整的伪代码收成 C。项目方写的结果是:3205 个原始 x86 用例通过,编译出来的 63 个字节全部对上。

Notion 的剪贴板。从渲染进程的接口,经过 preload 和 IPC,追到主进程,再看富文本格式怎么放到系统剪贴板。这是 Electron 应用里一条很典型的路径。厉害的是追得完整,不是变出了源码。

PC-98 上的 TH04。检查原始的 16 位指令,恢复环形子弹的固定角度和瞄准角度,再把重建的 C++ 和当年的编译器输出比。

官网案例页上还有两个,README 正文里没有展开。一个是 Aegis 这个验证器的 APK,六位数登录码怎么算、为什么每 30 秒变一次。一个是 DownUnderCTF 的一道入门题,把检查函数收成方程,再用原来的程序验证。

你要看证据,去他们的案例页,不要看我这篇的转述。

案例页:https://rea.tools/showcase/

这些案例的共同动作,是把一条具体规则收回来,再拿原始行为或原始字节对。不是打开一个著名软件,宣布「我看懂了,所以我可以照搬」。


「给你的项目做一版」,不是「把别人的产品搬过来」

首页最容易被传歪的,就是这句。

在应用里看到一个想加进自己产品的功能。让智能体用 REA 去查。没有源码也可以检查,解释它怎么工作,展示证据,再为你的项目实现类似功能。

前半句,是这个工具想做的事。后半句,法律不会因为你装了一个 MCP 就改口。

免责声明写得很硬。我按它的边界转述,不替它放宽。

拿到反编译、重建结果或一份分析报告,不表示你获得了原程序、它的数据,或这份生成结果的权利。软件公开能下载,文件已经在你硬盘上,或者你碰到了一个调试端口,都不自动等于你对每一次操作都有授权。

项目写明不支持、也不会帮忙的,包括这些。绕过 DRM、许可检查、反作弊和其他技术保护措施。做游戏外挂,或篡改在线服务。对你没有授权的系统,绕过认证、机器人防护或访问控制。复制专有软件,或复现它受保护的代码和素材。逃避模型厂商的使用政策和安全措施。转卖或共享 AI 账号和 API 访问。

他们还写了,Issue 和讨论区里如果有人来要这些帮助,会直接关掉,不回复。

所以这篇能告诉你这个工具是什么、怎么接上、边界在哪。不能拿去当破解教程,也不能拿去当「拆开竞品再发出去」的流程。

他们划出来的范围是:合法的研究、教育、互操作、软件保存,以及分析你拥有或获准检查的软件。安全研究和恶意软件分析,也必须停在你真正有权做的那一块里。范围外的,别用这篇当借口。

运行起来之后还有另一层。有些流程会执行程序、连上浏览器、抓网络、操作已连接的设备。允许你检查一个文件,不等于允许你运行它、拦截它的流量,或去动别人的系统。本地运行,也不保证被执行的目标和第三方工具没有对外影响。

看懂一个百分号怎么算,可以。把别人的产品扒下来换个图标发出去,不行。工具不会替你承担这句。

商业引擎也一样。IDA Pro、Hex-Rays、Hopper、JEB,必须你自己合法取得,并遵守厂商对用户、功能、自动化和输出分享的限制。试用版也是厂商的条款,不是 REA 的赠品。破解副本、偷来的密钥、私下传密钥、绕过许可,项目写明都不被授权。


想试,先走最短的那条

不要先通读整套文档,也不要先把三家反编译器装齐。

先确认 Node.js 落在上面的版本里,并且 npm 能用。Windows 上如果终端里找不到命令,先解决环境,再谈逆向。

然后跑:

npx rea-agents@latest setup

它会列出能配置的助手。你勾选,看它准备改哪些路径、哪些配置,批准之后才会写。已有配置会备份。取消或者中途退出,不应该留下半套修改。写完,重启完成信息里点名的那个助手。

README 点名支持的有 Claude Code、Codex、Cursor、Gemini CLI、Grok Build。安装文档里的名单更长。写稿时能看到 Claude Desktop、Windsurf、VS Code、Qwen Code、GitHub Copilot CLI、OpenCode、Pi、Hermes 等。Grok Bot 走的是另一条手动连接,不在这条自动设置里。

名单会随版本变。发布前以你本机这条 setup 列出来的为准,不要背我这篇。

只从 skills.sh 装 skill,不够。那条命令装的是给助手看的调查说明书,不是 MCP 注册,也不是分析引擎。工具没出现时,先别怀疑自己不会提问。

不想先接助手,也可以先用终端看一个你自己打包、或你获准检查的 JavaScript / Electron 应用。这条不需要原生引擎:

npx -y rea-agents@latest analyze-javascript-application "D:/apps/example" --json

路径换成你的绝对路径。说明写的返回是模块、导入、Electron 边界,以及证据。这是文档里的承诺,不是我跑出来的样例。

经常用,再全局装一个命令:

npm install --global rea-agents
rea --help
rea doctor

rea doctor 是体检,不改你的配置。助手看不到 REA 的工具,先看是不是没重启。重启了还没有,再让 doctor 查那一个客户端。报错先更新,不要先去翻一百个 Issue。全局安装用 rea update。你如果走的是 npx,就再跑一次 npx rea-agents@latest setup,核对变更,然后重启助手。

原生分析是第二步。

macOS,以及文档列出的那些 Linux 发行版上,可以在单独批准后让设置流程安装 Hopper。它是商业软件。演示版有厂商自己的限制。付费许可要你自己合法取得,REA 不读、不代装、也不代填许可。macOS 第一次启动,可能会弹出演示模式或激活窗口。得在同一次用户会话里点完,不然后面的无人值守任务会卡在这个窗口上。

Windows 上,别等这条命令把 Hopper 装出来。要看二进制,自己准备 Ghidra 和 JDK,把路径交给 doctor 检查。没配好之前,先用上面那条 JavaScript 命令,或者官方的入门调查,把「助手提问、工具回证据」这条环跑通。

官方入门用的是他们自己的 Notes 示例,追一条 CSV 导出。比拿一个你不该碰的商业软件开刀,合适得多。

入门页:https://rea.tools/first-investigation/

图解指南:https://rea.tools/zh-CN/guides/

你可以这样问,把目标换成你拥有或获准检查的程序:

弄清这个应用的导出功能如何工作,展示证据,并在我自己的项目里做一版类似功能。不要复制它的代码和资源。

最后那句不要省。省掉的时候,助手很容易把「做一版」做成「贴过来」。


谁现在该试,谁先别碰

适合花一个晚上的人:

已经在用 Claude Code、Cursor、Codex 这类助手,并且真的要看懂自己产品的打包结果。Electron 的 IPC 从渲染进程走到主进程,自己的安装包里到底打进了什么,自己的 .NET 程序声明了哪些原生依赖。这类问题,它的入口最直。

在学逆向,不想一上来就对着空白的反编译器发呆。让助手把指令、引用和未知项摊开,你再核对。学习没被外包。核对不能外包。

做授权范围内的兼容、互操作、老软件保存。目标清楚,权利清楚,再让工具去省翻调用的时间。

先别碰的人:

想找一个「破解一切」的按钮。这个仓库的免责声明,就是写给这句话的。

想把竞品拆开,把受保护的实现贴进自己的仓库。首页那句「做一版」,挡不住版权和许可。分析报告不是授权书。

只有一台 Windows,又期待一条命令装好 Hopper,今晚拆完固件、抓包和所有二进制。Hopper 的安装、固件提取、不少抓包路径,文档都没许给这条系统。

把二进制丢给云端助手,还以为「本地分析」四个字保住了全部数据。REA 不上传你的应用。你的助手会把工具结果交给模型。那一步遵守谁的政策,去看你用的那家,别看这篇。


最后说一句不好听的

REA 值得开发者看。将近 19 万星,不是因为名字起得像一句口号。是因为编程助手已经会写代码,却一直看不见程序本身。这个项目想补的是这截:让助手能查本地目标,并且把证据和限制一起带回来。代码本身是 MIT,跑在你的机器上。你可以看它怎么接工具,也可以接到你已经在用的助手里。这一点,比任何一个只在网页里贴一段汇编的演示更值得看。

它不值得你把它当成一张通行证。

证据可以被交到对话框里。判断不行。这条分支是不是真的在算百分号,伪代码缺了哪一块,这个目标你有没有权利打开,做出来的那一版是不是干净的重新实现。这些还是你的事。

以前,看懂一个功能的成本在晚上。现在,晚上可以被一个助手摊短。摊短之后还剩下的,才是你会不会看。

没有源码,可以开始问。问完就当自己会了,不行。


发布备注(粘贴正文前删掉)

推送标题备选:

  1. 1. 没有源码也能问清楚?19万星的 REA,我把仓库说明对了一遍
  2. 2. 别把「逆向一切」听成破解:这个开源 MCP,干的是另一件事
  3. 3. 编程助手终于能看见程序本身了,但证据还得你自己认

摘要:

REA 不是一个会吐源码的聊天框。它把二进制、JavaScript、Electron、.NET 和网站这些分析能力,接到你已经在用的编程助手上。分析在本机跑,结果带证据,也带限制。写稿时仓库大约 18.99 万 Star。它不提供破解,也不等于你有权把别人的实现搬进自己的产品。

封面图提示词:

横版公众号封面,比例 2.35:1。深色工作台,一块屏幕上是简洁的代码证据和调用关系,不要出现可识别的商业软件界面,也不要出现破解、外挂、锁被撬开这类意象。画面以冷蓝屏幕光和少量暖色点缀,左侧留出大标题空间。中文标题:「没有源码,也能问清楚」,副标题:「19万星的 REA,我把说明对了一遍」。无品牌 Logo,无多余小字,高清、克制、适合微信公众号头图。

配图建议:

  1. 1. 仓库首页,带上 Star 数。图注写明截图日期 2026-10-13。发布前再对一次,这个数字跳得很快,README 里的 17 万已经落后于页面计数。
  2. 2. 工作流程图用仓库里的 rea-investigation-flow,图注写明来自项目方,不要自己画一张「AI 自动破解」的信息图。
  3. 3. 计算器那个例子可以做成一张横图:200+10% 走到 220,200×10% 走到 20。图注写明这是官网对 Windows 计算器规则的说明,不是本账号实测。
  4. 4. 能力表不要画成「什么都能拆」。分成三档:不用原生引擎、需要 Hopper/Ghidra/IDA、还要特定系统和外部工具。Windows 不能通过设置安装 Hopper,单独标出来。
  5. 5. 不要用拆包、开锁、外挂、盗版密钥做配图。这篇的边界就是不写这些。

事实边界:

Star、Fork、贡献者、版本号、Node 要求、支持的客户端、Windows 与 Hopper 的限制、分析对象和案例数字,来自写稿时的 GitHub 仓库页、README、安装文档、免责声明和官网案例页。我没有运行 REA,没有复现 DX-Ball、TH04、Notion、Aegis 或 CTF 案例。主分支更新很快,npm 6.4.0 与 main 的能力差,发布前再看一眼安装文档里的 Released package and main。第三方引擎的许可条款以厂商当时的文本为准。

相关学习资料