我的电脑上,现在同时开着两个飞书,登着两个不同的账号。

飞书的 Mac 客户端,正常只能开一个。这个「飞书 2」,是 AI 在 6 分钟里给我做出来的。
它用的工具叫 REA,最近 GitHub 上最火的项目。10 月 5 日它大概 4200 个 star,今天 10 月 15 日,24.6 万。
这篇先讲我拿它拆飞书的过程,再聊聊它怎么火起来的,以及大家在吵什么。
REA 是干嘛的
REA 全称 Reverse Engineer Anything,逆向一切。
它的 slogan 是这样写的:「See a feature you like. Understand how it works, down to the binary level.」看到一个喜欢的功能,搞懂它怎么做的,一直搞到二进制层面。
技术上,它是一个 MCP 服务器,加一套给 agent 用的 Skill。装好之后,你的 Claude Code、Codex 就多了一整套逆向工具箱,能拆原生程序、Electron 桌面应用、网站、安卓 APK 等等。
关键在于,不需要源码。
第一步:让 Codex 装上 REA,拆一下飞书
我在飞书做过几年产品,第一个想拆的自然就是它。
我给 Codex 的指令就一句:
https://github.com/morluto/rea 装一下这个,然后帮我去解析一下飞书
它先问我想重点看哪部分,我选了「客户端架构与功能实现」。
4 分 34 秒之后,REA 装好了,Codex MCP 也配好了,第一轮解析报告跟着就出来了。

报告里的几个发现挺有意思:
- 混合架构:一个原生的 macOS 外壳,里面跑着多进程的 Web 环境,业务页面按模块拆开,底下还有一堆原生能力库
- 模块化组织:25 个 ASAR 包、33 个注册模块、382 个扩展入口,消息、文档、日历、邮箱、豆包,各是各的模块
- 剪贴板桥接:网页里的复制粘贴,会被包装成一条带编号的消息发给宿主,回来时按编号找到对应的回调
- 请求分流:页面发出的 SDK 请求,会依次判断走自定义处理器、注入的 JS SDK,还是一个叫 rust 的通道

它还画了流程图:

我最喜欢的一点,是报告会老实交代自己的边界。
比如包标识写着 com.electron.lark,它特意注明:不能凭这一个字段就认定飞书是标准 Electron。代码里有个通道叫 rust,它也说:不能据此断言哪个库就是 Rust 写的。哪些追到了、哪些没追到,最后列了一张表。
整个过程没启动飞书,没碰账号数据,也没读聊天内容。
第二步:6 分钟,实现飞书多开
光看架构没什么意思,我想让它真干点活。
我平时有多个飞书账号,官方客户端只能开一个,来回切很烦。于是我让它基于刚才的解析,给飞书做个多开。
6 分钟之后,我的 Dock 栏里多了一个「飞书 2」。双击打开,是一个全新的扫码登录页。

扫码,登录第二个账号。两个飞书并排开着,各登各的账号,就是文章开头那张图。
它的做法,我看了说明之后觉得挺巧的:
- 飞书会把数据和一把「单实例锁」放在一个叫
LarkShell的目录里。第二个飞书启动时发现锁被占了,就不会再开一个 - AI 复制了一份飞书,改名「飞书 2」,换了一个应用标识
- 然后在副本的 15 个原生文件里,把 18 处
LarkShell替换成LarkDual2。两个词字母数一样,替换后二进制文件的长度不变,不会把程序改坏 - 这样「飞书 2」就有了自己的数据目录和自己的锁,两个互不干扰
- 把副本的自动更新关掉,免得官方一更新,补丁就被覆盖了
- 最后从里到外重新签名
改完它还自己做了验收:两个应用都被系统识别为独立运行,各自的锁对应各自的进程,用 lsof 检查过没有交叉读写对方的数据目录。原版飞书的签名校验通过,主程序的哈希和改之前一模一样。
原版飞书一个字节都没动。 不想用了,把「飞书 2」删掉就行。
还有一个细节要如实交代:它的说明里写了,技术思路参考了 GitHub 上一个叫 feishu-clone 的开源项目。但它没有直接运行下载来的脚本,而是自己重写了一套带备份的构建脚本,补上了完整的签名处理和验收步骤。
说实话,就算有人做过类似的东西,换成我自己,从找资料、看懂、改、签名到调通,没个大半天下不来。
我拆完之后的两点感受
第一,门槛真的没了。
我不懂 macOS 签名,也没碰过二进制替换。整个过程,我就提了两个需求。
以前我们做产品研究竞品,只能看界面、看交互、看帮助文档,猜它后面怎么实现的。现在能直接看到实现,还能动手改。
第二,REA 和模型谁出力更多,不太好说。
我翻了一下它的报告,REA 自己的 JS 分析其实只选了 4 个文件,对标准 Electron IPC 的统计结果是 0。剪贴板桥接和请求分流那两条链路,主要是 Codex 直接读代码追出来的。报告里也老老实实写了这一点。
所以我的理解是:REA 给了一套现成的工具和方法论,省掉了搭环境的时间;真正把活干漂亮的,还得是模型本身。
这一点,HN 上也吵了很久。
它怎么突然这么火
REA 其实早就有了。
仓库 4 月就建了。7 月作者在 Hacker News 发了个 Show HN,拿了 3 分,没人理。npm 包 9 月一整个月只有 480 次下载。
然后,这一串事情接连发生:
9 月,Claude Opus 5.5 发布。 社区发现这一代模型的反编译能力强得离谱。
10 月初,AI 反编译游戏的浪潮来了。 几周内冒出几百个浏览器版老游戏:使命召唤黑色行动、光环、GTA 罪恶都市……有的几小时就被下架,很快又有新的冒出来。有人形容:把 Opus 5.5 挂一夜,早上游戏就反编译完了。
10 月 10 日,REA 登顶 GitHub Trending 第一。 HN 主帖 804 分、337 条评论。10 月 11 日单日涨了 2.5 万星,10 月 12 日 npm 单日下载 10.3 万次。
10 月 13 日,微软宣布成立 Xbox Labs。 专门研究游戏的反编译和重编译。Xbox CEO Asha Sharma 说,这些实验「挑战了行业长期以来的假设:软件和硬件的绑定,创作和游玩的边界」。
模型能力到了,大家又亲眼看到 AI 能拆游戏。这时候来了一个「一行命令把逆向工具箱接进 agent」的东西,名字还叫「逆向一切」。
想不火都难。
HN 上吵的三件事
1. 比直接让 Claude 装个 Ghidra 强在哪?
被问得最多的问题。
HN 上的安全圈大佬 tptacek 回答说:每个人都有自己的一套脚本和流程,但你仍然需要比「让 Claude 自由发挥」更多的东西,至少现在是这样。6 个月后就不好说了。
两边都有例子。有人用本地小模型 Qwen 配 Ghidra,模型完全迷路,换上 REA 之后能往前推进了。也有人什么工具都没装,把 Windows 远程桌面程序丢给 Claude,描述了两个折磨他快十年的 bug,Claude 自己写 Python 脚本分析,半小时打好补丁修掉了。
结合我拆飞书的体验,我的判断是:模型越弱,REA 越有用;模型越强,它的增益越小。
还有一个实际问题。HackerNoon 上有篇实测,作者发现 REA 暴露了 170 个 MCP 工具,光工具列表就有 1.95MB,他估算大约 50 万 token。用按量付费的模型,先算算账。
2. 是不是刷星了?
5 天里,star 从 4200 涨到 5.4 万,fork 从 438 涨到 1 万多。fork 占 star 的 19%,这个比例不太正常。HN 上有人直接说:一股刷量的味道。
我自己验证了一下。GitHub 的 star 列表接口对这个仓库返回 404,查不了。我就抽查 fork,在 10 月 5 日之后的爆发期随机抽了 150 个账号:
- 58% 是 2022 年以前注册的老账号
- 2026 年新注册的只有 13%
- 「今年注册 + 0 粉丝 + 不超过 2 个仓库」的典型小号,只有 7 个
加上 npm 下载从每月几百涨到单日 10 万,我倾向于认为大部分热度是真的。star 那边查不到,我没法打包票。
3. 净室实现,还是 IP 洗白?
整个帖子里吵得最凶的话题。
有个团队在做 Adobe、Office 的开源平替。团队成员说,他们不反编译任何程序,团队里禁止用 Ghidra,全部「净室实现」。他的原话是,拿 REA 做他们这种高调项目,很可能招来官司。
有个做过净室实现的工程师说,他们公司规定,只要你以前接触过对方的源码,就不能参与这个项目。而 LLM 训练时看过什么,谁也不知道,所以没法证明 AI 写出来的克隆是干净的。
还有人提醒:逆向能受「合理使用」保护,靠的是你做了有创造性的工作。如果 AI 拆完、AI 重写、直接发布,法院可能认定这属于「机械转换」,反而不受保护。
至于软件公司以后怎么办,有一条评论开头就一句:There’s no obscurity anymore。代码再也藏不住了。很多人预测,以后能放服务端的都会往服务端搬。
想试的话,注意这几件事
1. 只从官方渠道装。
REA 的 README 顶部专门警告:只认 morluto/rea、rea.tools 和 npm 上的 rea-agents。我在 GitHub 上搜了一下,已经有一堆复制仓库,有一个 10 月 13 日刚建,写着「官方免费下载,Windows 本地 zip 包」。REA 官方只通过 npm 分发,看到 zip 下载链接别点。
2. 改客户端,自己承担风险。
我的「飞书 2」用的是本地签名,不是飞书官方版本,自动更新也关了,要手动跟着原版更新。改客户端可能违反软件的用户协议,我只在自己电脑上用,也不打算分发。
3. 模型可能会拒绝。
HN 上不少人反馈,Opus 5.5 偶尔会拒绝逆向任务,有人换 Codex 就能跑,也有人反过来。碰到 DRM、授权校验这类,大概率会被拦。
4. 先读免责声明。
REA 在免责声明里列了几条红线:绕过 DRM 和授权校验、做游戏外挂、绕过登录、复制别人的专有代码和素材。拆你自己用的软件、做互操作、学习研究,这些没问题。
最后
我之前吐槽过某些大厂「小抄小摸」,把别人的功能、案例带帮助文档一起原样复制,挺没意思的。
研究竞品是产品经理的基本功,照抄就没意思了。
REA 这样的工具,让「看懂别人怎么做」这件事,从逆向工程师的专业技能,变成了一句话的事。这次我拆飞书,搞懂了它的结构,顺手给自己做了个多开,解决了一个真实的小麻烦。
能不能拆,已经不是问题了。
拆完之后想做点什么,还得看人。
相关数据来源:
- GitHub 仓库:github.com/morluto/rea(star、fork 数据截至 2026-10-15)
- npm 下载数据:api.npmjs.org,rea-agents 包
- Hacker News 讨论:「REA Reverse – Engineer Anything」(2026-10-10,804 分)
- 第三方实测:HackerNoon「I Tested REA, GitHub’s Viral Reverse Engineering Tool, on a Real Electron App」(2026-10-14)
- 游戏反编译浪潮:METAL「AI-Decompiled Games Spread as Web Browser Ports」(2026-10-10)
- Xbox Labs:The Verge「Xbox is officially embracing the chaos of AI-powered game ports」(2026-10-13)
- 多开技术思路参考:github.com/eggyrooch-blip/feishu-clone
- fork 账号抽样:作者通过 GitHub API 自行抽查 150 个账号(2026-10-15)
- 飞书实测:作者本机飞书 8.1.17、REA 6.5.0、Codex(2026-10-15)