ARTICLE · 1175336
AI 开始拆软件了:这个 REA,让好功能不再只看得见
看到一个好用的功能,你有没有想过,把它做进自己的产品里?
界面可以照着画,交互可以反复试。可一到真正写代码的时候,问题就来了。搜索为什么这么快,复制粘贴为什么能保留格式,一个不起眼的按钮背后,到底串了多少逻辑。你能看到结果,却摸不到实现。
让 AI 帮忙,它很快就能写出一套方案。代码能跑,效果也像,但原来的软件究竟怎么做,还是不知道。
REA 就是想把这一步往前推。
它的全名是 Reverse Engineer Anything,配套的 skill 叫 reverse-engineer-anything。简单说,它给 AI 一套逆向调查的方法,再通过 MCP 接上实际的分析工具,让 AI 能从软件本身找线索,拆模块、追调用、看反编译结果,逐步解释一个功能的实现。

你负责提出问题,它负责沿着证据查下去。
比如,你想研究一个应用的搜索功能,就可以让 AI 找到相关模块,追踪数据和调用关系,解释搜索流程,再根据查到的结果,为自己的项目实现类似能力。
这里最值得关注的,是证据。
AI 写代码很快,猜实现也很快。一个函数名,一段相似代码,都可能让它讲出一套听起来很完整的故事。可故事讲得顺,不代表事情就是这样发生的。
REA 返回的分析结果会带上相关证据和限制。结论对应哪些代码,调用关系走到了哪里,还有哪些地方没查清,都能继续追问。这样拿到的解释,才有机会被检查和验证。
项目里的案例也挺有意思。
比如追查 Notion 的剪贴板实现,从界面一侧的 API,沿着 Electron 的通信链路找到主进程,再查看富文本剪贴板格式。平时一次很自然的复制粘贴,拆开以后,里面还有好几层协作。
还有老游戏里的计算逻辑。通过原始指令和反编译线索,还原具体算法,再做验证。对喜欢研究老软件的人来说,这比看一篇笼统的原理介绍过瘾得多。
当然,名字里的 Anything,别当成万能承诺。
把一个软件丢进去,并不会自动得到完整源码。能研究到什么程度,取决于目标、打包方式和工具条件。反编译得到的伪代码,也需要继续分析。最后写出来的类似功能,仍然要靠测试确认。
它目前支持的对象包括 JavaScript、Electron 应用、.NET 程序和原生二进制等。不同目标需要的环境不同,深入分析原生程序时,还会用到 Ghidra、Hopper 或 IDA 这类工具。
还有一点容易被忽略。
只安装 skill,相当于给 AI 一本调查手册。要真正动手分析,还需要接好 REA 的 MCP 服务和相关工具。项目提供了 setup 命令,用来注册服务并安装配套指令,支持 Claude Code、Codex、Cursor 等工具。
想试试,可以从这条命令开始:
npx rea-agents setup
GitHub 项目地址:github.com/morluto/rea
安装条件、具体能力和案例,项目首页都有介绍。适合先挑一个你有权分析的软件,从一个明确的小功能开始研究。
我觉得 REA 的意义,是让研究现成软件这件事,多了一个更容易上手的入口。
对于开发者,遇到一个好功能,可以进一步理解它的实现。对于学习者,可以拿具体的软件问题练手。对于维护旧系统的人,也可能从程序里找到文档没有留下的线索。















































































