跳到正文
Go back

我用 GitHub 第一的 REA 拆了飞书,6 分钟实现了飞书多开

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

两个飞书同时登录

飞书的 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 也配好了,第一轮解析报告跟着就出来了。

让 Codex 装 REA 拆飞书

报告里的几个发现挺有意思:

飞书架构解析报告

它还画了流程图:

SDK 请求分流图

我最喜欢的一点,是报告会老实交代自己的边界。

比如包标识写着 com.electron.lark,它特意注明:不能凭这一个字段就认定飞书是标准 Electron。代码里有个通道叫 rust,它也说:不能据此断言哪个库就是 Rust 写的。哪些追到了、哪些没追到,最后列了一张表。

整个过程没启动飞书,没碰账号数据,也没读聊天内容。


第二步:6 分钟,实现飞书多开

光看架构没什么意思,我想让它真干点活。

我平时有多个飞书账号,官方客户端只能开一个,来回切很烦。于是我让它基于刚才的解析,给飞书做个多开。

6 分钟之后,我的 Dock 栏里多了一个「飞书 2」。双击打开,是一个全新的扫码登录页。

飞书 2 扫码登录

扫码,登录第二个账号。两个飞书并排开着,各登各的账号,就是文章开头那张图。

它的做法,我看了说明之后觉得挺巧的:

  1. 飞书会把数据和一把「单实例锁」放在一个叫 LarkShell 的目录里。第二个飞书启动时发现锁被占了,就不会再开一个
  2. AI 复制了一份飞书,改名「飞书 2」,换了一个应用标识
  3. 然后在副本的 15 个原生文件里,把 18 处 LarkShell 替换成 LarkDual2。两个词字母数一样,替换后二进制文件的长度不变,不会把程序改坏
  4. 这样「飞书 2」就有了自己的数据目录和自己的锁,两个互不干扰
  5. 把副本的自动更新关掉,免得官方一更新,补丁就被覆盖了
  6. 最后从里到外重新签名

改完它还自己做了验收:两个应用都被系统识别为独立运行,各自的锁对应各自的进程,用 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 个账号:

加上 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 这样的工具,让「看懂别人怎么做」这件事,从逆向工程师的专业技能,变成了一句话的事。这次我拆飞书,搞懂了它的结构,顺手给自己做了个多开,解决了一个真实的小麻烦。

能不能拆,已经不是问题了。

拆完之后想做点什么,还得看人。


相关数据来源:


Share this post on:

下一篇文章
NBA 黑客松冠军作品拆解:一个进球的平行世界

留言区

加载留言中…

发表留言

?