ARTICLE · 1199986
闭源软件的“黑盒时代”,被这个 25 万星的开源项目-REA终结了!
发布时间:2026-10-17 15:36:33 最近访问:2026-10-17 15:36:35
闭源软件的“黑盒时代”,被这个 25 万星的开源项目-REA终结了!
晓白AI纪元把 AI 用成真本事,而不是收藏夹讲人话能上手一个叫 REA 的开源项目,把逆向工程的门槛踩到了地板上大家好,这里是 晓白。10 月中旬,一个叫 REA 的开源项目在 GitHub 上爆火,冲上日榜第一,星标一路来到 25 万。它只干一件事:让 AI 在你没有源码的情况下,看清一个软件的功能到底是怎么实现的。讲什么REA 是什么、做对了什么、能分析哪十大类目标、内部怎么运转、三个真实战例,以及你怎样亲手跑通第一次。什么痛点看中的功能没有源码;逆向是懂汇编的老手的活;AI 给的结论你总不敢全信。你能拿到一条接入命令、一张能力清单、一套「结论必须带证据」的思维,外加一个练手小任务。先给定义。REA,全称 Reverse Engineer Anything,逆向万物。你手里没有源码,只有一个软件的安装包、一个网页、一个安卓应用,甚至一张 1996 年的游戏光盘——它能带着 AI 从这些"外表"出发,查清某个功能内部到底怎么运转,还把证据一并摆在你面前。打个比方。以前看一个软件,像隔着毛玻璃猜屋里的摆设;REA 做的事,是把毛玻璃换成透明玻璃,再给你配一支手电筒。它不是在"破解"谁,而是在"看懂"谁——看懂了,你才能做出自己的版本。一个功能在别人家产品里跑得好好的,你想要。以前只有两条路:看教程猜个大概,或者自己啃几个月汇编。现在你可以直接问 AI:"这个搜索功能怎么实现的,给我看证据。"AI 通过 REA 调工具,几分钟后带着证据回来。翻完它的源码和文档,我认为它做对了三件事,这也是它区别于"又一个 AI 小工具"的地方:把 Hopper、Ghidra、IDA 这些专业反汇编器,连同网页调试、安卓反编译、固件拆解,统统封装成 MCP 工具。AI 不必学会每种工具的脾气,调用就行。老手查功能三步走:搜关键字、找引用、定位函数。REA 把这三步固化成一个工具,AI 调用一次,就拿到"哪个函数用到了这个字"。每次分析都生成一条 Evidence 记录:分析了哪个文件、做了什么操作、得到什么结果。结论分"观察到的、推断的、不确定的"三档;搜不到,它也会明说"搜不到不代表不存在"。前两条降低门槛,第三条守住底线——没有证据的结论,在 REA 里不算结论。官方口径 100 多个 MCP 工具,按目标类型归拢,大致是这么八大类。挑你熟悉的看:注意最后一行:读 Go 和 Rust 程序的元数据,连反汇编器都不需要,REA 内置就能干。这也是它设计哲学的缩影——能内置的就内置,能不依赖的就不依赖。整套东西跑起来是这样的:你在对话框里提需求;AI 通过 MCP 协议调用 REA 的工具;REA 按需唤起反汇编器、调试器或浏览器,把结果连同证据一起交回 AI;AI 再决定下一步问什么,或者直接给你写一个自己的版本。有个细节值得说:REA 每次拉起 Ghidra,都是只读模式开一个临时工程,分析完就删,原程序一个字节都不会被改。分析网页时走的是 Chrome 调试协议,只读已经加载的源码,不在你的页面里执行任何一行 JavaScript。
接入也简单。下面这条命令会把 REA 注册进你的 AI 客户端(Claude Code、Codex、Cursor、Gemini CLI 等都支持),顺手装好配套的调查指令。重启客户端后,AI 就多了一双透视眼:不装也行。REA 同时是个命令行工具,在终端里直接分析一个解压好的应用目录,JSON 结果原样输出:npx -y rea-agents@latest \ analyze-javascript-application \ /路径/到/应用 --json空口无凭,看三个官方 showcase。每一个都是"没有源码,最后连算法都被完整还原"的硬故事。DX-Ball,经典打砖块游戏。REA 跟着一声"球拍接到球"的音效调用往下追,定位到计算声音左右声道比例的函数,把不完整的伪代码一步步还原成 C 代码。验收方式很硬核:还原代码跑 3205 个原始 x86 测试用例,全过;编译出的函数字节,63 个一个不差。Notion 是 Electron 应用,等于把一个网页塞进了桌面程序。REA 从渲染进程的剪贴板 API 出发,穿过 preload 和进程间通信,一路追到主进程,把"富文本剪贴板格式"这条链路摸得明明白白。这种跨进程追线索的活,以前是逆向老手的毕业设计。TH04,一个 16 位 DOS 游戏。REA 分析当年的 PC-98 指令,还原出子弹环的角度计算,还把还原出的 C++ 和当年的编译器输出做了对比。快 30 年前的程序,一样透视。三个案例三种形态:桌面游戏、现代桌面应用、上古 DOS 程序。REA 的"万物",不是修辞。REA 要求 Node.js 22.19 以上、24.11 以上或 26 以上,注意 23 和 25 不在支持列表。终端输入 node --version 看一眼。运行 npx rea-agents setup,按提示选择你的AI 客户端、审阅改动、批准,然后重启客户端。新建会话直接说人话。比如:"看一下这个恐龙游戏怎么加速的,先调用 list_browser_targets 找到页面,再读取脚本源码,告诉我初始速度、加速规则,每条结论给出处。"接着说:"根据查到的规则,在当前文件夹写一个dino-demo.html,能跳、有仙人掌、带速度滑块和自动加速。"AI 会基于证据,写出你自己的版本。想在终端里先尝尝 CLI 的滋味?起一个带调试端口的 Chrome 就行:open -a "Google Chrome" --args \ --remote-debugging-port=9222 \ --user-data-dir=/tmp/rea-demo打开 https://wayou.github.io/t-rex-runner/ ,就是 Chrome 断网时那只恐龙用上面的命令起一个带 9222 调试端口的 Chrome,再让 AI 通过 REA 读取页面脚本回答三个问题:初始速度是多少、每次加速加多少、有没有上限让 AI 把答案做成一张速查表,再顺手复刻一个能玩的版本最后必须泼一盆冷水——这也是 REA 官方 DISCLAIMER 写得清清楚楚的事。工具越强,边界越要先划清。坑"既然能逆向,那岂不是可以随便抄别人的功能?"——看懂功能逻辑和抄走专有代码,是两回事,后者踩线。改官方划的支持范围:合法研究、教育、互操作、软件保存,以及分析你自己拥有或获授权的软件。坑AI 说"我没搜到这个关键字",你就断定"这功能不存在"。改REA 的规矩是"搜不到不代表不存在"——分析有边界,结论分三档,不确定的部分 AI 必须讲出来。你觉得第一个该被 AI"透视"的软件是哪个?评论区聊聊。点赞、关注「晓白AI纪元」,把 AI 用成真本事,而不是收藏夹。