ARTICLE · 1173806
AI会拆软件了,App里的秘密越来越难藏
手机计算器里按 200 + 10%,结果是 220。换成 200 × 10%,结果是 20。同一个 10%,前面换了个符号,意思就变了。很多人碰到过这件事,多半没去想为什么。
按 Trendshift 的统计,这一周多 GitHub 上涨星最快的开源项目里,有一个叫 REA,官网拿的就是这道题做演示。REA 全名 Reverse Engineer Anything,意思是什么都能逆向。演示里,编程助手借助 REA 打开 Windows 计算器 11.2508.4.0 的程序文件,找到处理 % 按钮的那段指令,从里面读出一条分支规则。
% 跟在乘号或除号后面,就是除以 100;跟在加号或减号后面,要先除以 100,再乘上前面那个数。所以 200 + 10% 里的 10%,先变成 200 的 10%,也就是 20,结果才是 220。微软的计算器本来就在 GitHub 上公开了源码,REA 团队拿源码对照,确认读出来的分支没有错。

REA 官网中文版的计算器演示,左边是专家手读的汇编指令,右边是一句话提问后的回答,来源 rea.tools
REA 的仓库 4 月就建了,之后几个月几乎没人注意。按 Trendshift 的统计,它 9 月一整个月只涨了 35 颗星。10 月初开始往上走,10 月 12 日一天涨了 5 万多。到 10 月 13 日傍晚,星标是 181,857。

Trendshift 上 morluto/rea 的涨星曲线,10 月 12 日单日涨了 52,186 颗星,来源 trendshift.io,10 月 13 日晚截取
一个能读懂计算器的工具,十天里被十几万人收藏,大家图的显然不只是计算器。
逆向工程,就是拿着成品倒推做法
逆向工程这个词,在国内的法律文件里有一句很朴素的定义。最高人民法院 2020 年关于商业秘密案件的规定,第十四条写的是“通过技术手段对从公开渠道取得的产品进行拆卸、测绘、分析等而获得该产品的有关技术信息”。同一条还写明,用这种办法拿到别人的技术信息,不算侵犯商业秘密;先用不正当手段拿到,再拿反向工程当理由,法院不支持。
换成日常的话,就是一样东西从公开渠道到了你手里,你把它拆开,量一量,看它是怎么做的。拆一台收音机看电路是这样,拆一个软件也是这样。
软件难拆,是因为交到你手里的那一份,人已经看不懂了。程序员写的是源码,有变量名,有注释,能读。装进你电脑和手机里的,是编译之后给机器执行的指令,一长串数字和缩写。源码留在公司手里。想知道一个功能怎么做的,就得从这些指令倒推回去。REA 官网给逆向工程的说法是“通过检查程序本身,弄清软件如何工作”,目的是弄懂一项功能,然后去解释它、修改它,或者自己重新做一遍。
以前干这件事,要会读汇编,要会用专门的反编译工具,一行一行跟着函数调用往下追。常见的工具有美国国家安全局开源的 Ghidra,免费;有商业软件 IDA Pro,按年付费,Hex-Rays 官网的价格从每年 1,099 欧元到 8,599 欧元不等;还有 Mac 上常用的 Hopper。会用这些工具的人不多,在安全公司、游戏公司和高校实验室里,这是一门要练好几年的手艺。
REA 改变的是谁来读这些指令
REA 的做法是把 Ghidra、Hopper、IDA 这些现成工具接到编程助手上,Claude Code、Codex、Cursor 都能接,反编译仍由这些老工具完成。接好以后,你用平常说话的方式提问,比如这个 App 的某个功能是怎么算的,编程助手就去调这些工具,看指令,追调用,最后把它找到的东西、依据,以及没弄清的地方一起交回来。
官网放了几个案例,最完整的一个是 DX-Ball,一款 1996 年的 Windows 打砖块游戏。问题是砖块在屏幕上的横向位置,怎么换算成声音的左右声道。编程助手从反编译结果一路追到具体指令,读出几个常数,还原出一条公式,再用 C 语言重写。
验证做了两道。第一道是把屏幕上 0 到 640 的每一个位置,乘上 5 种缩放系数,一共 3,205 种情况,让原版程序和重写的代码各算一遍,结果全部一致。第二道是用当年的编译器把重写的代码编译出来,和原程序里这个函数的 63 个字节逐个比对,完全相同。
这两个数字只说明一个函数。官网也写明了范围,截至 10 月 7 日,整个 DX-Ball 重建项目做出了 55 个 C 函数,其中 33 个编译后和原程序字节一致,能玩的版本还在开发。
第三方的实测也差不多是这个分寸。一位博主 10 月 11 日在自己的 Linux 机器上试了一次,目标是他自己写的一个只有 3 个文件的小桌面应用。REA 找到了应用里负责签名的那条内部通道,还把 24 处没能确定的地方单独标了出来,没有硬猜。
它的输出里有一句说明,大意是没找到某样东西,不代表那样东西不存在。这位博主的结论是,REA 给的是带证据的原材料,读懂、判断、重写,还得靠懂行的人;新手一上来面对 91 个工具和一堆术语,很容易被淹没。
中文社区的反应分成两边。LINUX DO 上有人说“全民逆向”今天正式开始;也有人管它叫“包装侠”,觉得它只是把几样现成工具捆在一起,安卓那部分是凑数的,热度背后有人造势。两种说法都有一点道理。REA 的分析能力确实来自那些老工具,它新加的,是让不会用这些工具的人也能开口提问。
它也有明确不做的事。10 月 13 日,有人在 REA 的仓库里提需求,希望它能处理国内常见的商业加固 App,项目方以不打算做为由关掉了。项目的免责声明写得很直白,不帮人绕过版权保护、授权校验和反作弊,也不帮人复制专有软件,或者照搬它受保护的代码和素材。
拆开别人的东西,跟普通人有什么关系
有几件跟逆向工程有关的事,已经落在普通人身上,只是很少有人把它们叫作逆向工程。
第一件发生在一群糖尿病患者身上。不少 1 型糖尿病患者靠胰岛素泵给药,剂量要跟着血糖随时调。十多年前,美国有几位患者和家属自己动手,弄明白了美敦力几款老式胰岛素泵怎么跟外部设备通信,再写软件,把连续血糖监测仪和泵连成一个能自动调剂量的闭环。2015 年 2 月,他们把这套做法以 OpenAPS 的名义开源,后来又有了 iPhone 上的 Loop。
这些系统一直没有监管背书。2019 年 5 月,美国食药监局发过安全通告,提醒患者和医生不要使用未经授权的糖尿病管理设备。转折出现在 2023 年 1 月 23 日,非营利组织 Tidepool 把 Loop 整理成正式产品,拿到了食药监局的 510(k) 上市许可。
许可申请里的临床数据,来自一项观察自制 Loop 用户的真实世界研究,872 人实际开始了研究。也就是说,患者自己拆出来、自己用了好几年的东西,最后成了监管认可的医疗产品。按 OpenAPS 的统计,截至 2024 年 3 月,自报在用各类自制闭环的人至少有 3,262 位。

Tidepool 2023 年 1 月 24 日的公告,称 Tidepool Loop 是糖尿病领域第一个获 FDA 许可的社区主导创新,来源 tidepool.org
第二件跟你买的设备有关。越来越多的东西要连着厂商的服务器才能用,厂商哪天不想维护了,设备就跟着停。Spotify 的车载小屏 Car Thing 卖过 90 美元左右,2024 年 12 月 9 日被统一停用。据 TechCrunch 报道,官方支持页让用户恢复出厂设置,按电子垃圾处理。
Bose 的 SoundTouch 音箱从 2013 年开始卖,2025 年 10 月,Bose 宣布不再维护它背后的云服务,Bose 的说法是,没法再继续维持这套云服务的开发和支持。用户反弹之后,Bose 把停服日期推到 2026 年 5 月 6 日,又把音箱本地接口的说明文档公开,说是为了让独立开发者能自己做兼容的工具和功能。
公开的只是本地那一半。音箱上的预设按钮依赖云端,那部分接口 Bose 没给。社区里有人做了 SoundCork 这样的项目,把音箱原本发往 Bose 服务器的请求接到本地,自己来回应。另一位开发者 5 月写道,Bose 的文档帮了忙,云端那部分还是得自己逆向。按 Bose 的说明,停服之后蓝牙、AirPlay 和 Spotify Connect 照样能用,预设按钮这类功能,只能靠社区补回来。

Bose SoundTouch 停服说明页,列出停服后还能用和不能用的功能,以及为独立开发者公开的接口文档,来源 bose.com
在美国,这种需求已经进了法律。《数字千年版权法》第 1201 条禁止绕过控制作品访问的技术措施,美国国会图书馆每三年根据版权局的建议,给这条禁令开一批临时豁免。
2015 年那一轮,车主为了诊断、维修和合法改装,可以绕过汽车和农机上的软件锁,这条豁免 2016 年 10 月 28 日才生效,当时只限车主本人;2021 年加进了医疗设备的维修;2024 年又加了餐饮店用的商用食品加工设备,快餐店的冰淇淋机就在这一类。
2025 年 1 月,美国联邦贸易委员会起诉农机公司约翰迪尔,指控它只把能做全部维修的软件工具给授权经销商。2026 年 7 月双方和解,约翰迪尔同意未来十年把同样的维修资源提供给农民和独立维修商,和解还需要法院签字。
你买的游戏也是一样。1996 年的《超级马里奥 64》,2019 年被一群玩家完整反编译成了 C 代码,项目一直公开在 GitHub 上。按项目说明,用它能重新编出和原版一致的游戏文件,前提是你手里有原版游戏,画面和声音素材要从原版里提取。
2020 年 5 月,有人在这份代码的基础上做出了能在电脑上直接运行的版本,支持 4K 和宽屏。任天堂的律师随后发投诉,下架了编译好的程序和演示视频,反编译项目本身到今天还在。REA 官网那几个案例,DX-Ball 和 PC-98 上的《東方幻想郷》,做的也是同一类事情。
第三件离国内读者最近,是微信聊天记录。很多人想把自己的聊天记录完整导出来存档。腾讯提供的是聊天记录的迁移和备份,备份出来的记录是加密的。于是 GitHub 上出现过一批开源工具,用来把聊天记录导成自己能打开的文件。
这些工具后来陆续停了。其中一个叫 PyWxDump,作者 2025 年 10 月 20 日在仓库首页自述,“我收到了来自微信官方的律师函”,随后删掉了全部代码和提交记录。

PyWxDump 仓库首页的项目移除通知,更新日期 2025 年 10 月 20 日,来源 github.com
另一件事发生在 2026 年 1 月 8 日。腾讯向 GitHub 提交删除通知,针对的是另一批同类工具的仓库,GitHub 按其中一个仓库的整个分支网络一并处理。
腾讯在通知里主张,这些工具规避了微信对本地聊天记录的保护措施,违反美国版权法里禁止规避技术措施的条款,也违反微信的用户协议和 GitHub 的使用条款。微信的软件许可协议第 8.2.1.2 条写明,用户不得“对本软件进行反向工程、反向汇编、反向编译”。腾讯还强调,一个人的聊天记录里,装着很多别人发来的消息和文件。
这件事很难简单说谁对。记录是你的,可里面一半的话是别人说的;工具能帮你存档,也能被别人拿去读你的手机。这是逆向工程最常见的处境,同一种能力,用在自己的东西上叫保存,用在别人身上就成了窥探。
被迫开源,开的是哪一部分
把这几件事放在一起,再回头看 REA,就能看出这十几万颗星图的是什么。
每一个装进你设备里的软件,都把在本地运行的那部分规则一起带了过来。计算器那条 % 的分支在程序文件里,Notion 桌面版内部用来写剪贴板的通道名,REA 也从安装包里读了出来,叫 notion:clipboard:write。
这些东西一直在你的硬盘上,只是以前要请一位懂行的人花上几天才能读出来。读一次的成本降下来以后,装在用户设备上的那部分软件,在规则和思路这一层,就越来越接近开源,只是没有谁主动选择开放。
我觉得“被迫开源”这个说法有道理,但要先划清它开的是哪一部分。
第一,留在服务器上的东西不会到你手里。推荐和定价这类规则,大多在公司的服务器上跑,拆你手机里的 App 拆不出来。第三方调研 rea-research 也把服务端逻辑列为仍然有效的保护办法。REA 这类工具越普及,公司可能会把更多要紧的逻辑挪到服务器上。
第二,加固和混淆过的程序依然难拆。REA 自己就拒绝了处理商业加固 App 的需求。第三方的深度调研 rea-research 也写到,加壳、混淆会让分析和重建难很多。
第三,读得懂规则以后能拿去做什么,法律另有规定。《计算机软件保护条例》第六条写明,对软件著作权的保护“不延及开发软件所用的思想、处理过程、操作方法或者数学概念等”;第十七条允许为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件,条文里没有写到反编译。
《著作权法》第五十条在可以避开技术措施的几种情形里,列了“计算机软件反向工程研究”,同时加了两条限制,不得向他人提供避开技术措施的技术、装置或者部件,也不得侵犯权利人依法享有的其他权利。
思路本身不受著作权保护,这一点条文写得清楚;具体到反编译、重写、发布这几步各自合不合法,要看软件从哪里来、用户协议怎么写、有没有碰到别人的其他权利,条文没有给一张通行证。不少软件的用户协议,像微信那样,还直接写了不许反向工程。
所以开放的是思路和规则,代码本身、拆开以后拿去干什么,仍然有著作权、合同和刑法管着。对做软件的公司来说,靠“用户看不到”来保住的东西会越来越少;对普通人来说,你用的 App 在你手机上做了什么,能看懂的人会越来越多。
你现在该不该装 REA
要装的话,门槛并不低。电脑上的 Node.js 要是 22.19 以上的 22 版、24.11 以上的 24 版,或者 26 及以后的版本;深度分析要先装好 Ghidra、Hopper 或 IDA 中的一个。
Ghidra 免费;Hopper 官网写的个人版 99 美元,单机版 129 美元,试用版不能保存,每次只能用 30 分钟;IDA 更贵。REA 本身不收费。按它的工作方式,模型的费用走你自己编程助手的账户,用多少算多少。
隐私也要想清楚。REA 的说明里写,分析在本地跑,可分析结果会交给编程助手,背后的模型服务商有自己的数据政策。公司的内部软件、合同里不许外传的程序,不适合拿去这样分析。项目的安全说明还特意写了一句,它不是沙箱。分析来路不明的程序,最好放在单独的环境里。
按那位实测博主的建议,现在值得一试的是三类人。一类做桌面应用和网页应用,想弄明白别家某个功能怎么实现;一类做安全审计;还有一类本来就在用 Ghidra 或 Hopper,想让编程助手替自己跑腿。想一键破解某个 App 的人,不用装了,项目方自己就不接这种活。主要在 Windows 上做原生程序分析的人,也可以再等等,这部分官方文档还标着实验性支持。
大多数人用不上 REA,但会碰到它带来的变化。下次买一台离了厂商服务器就用不了的设备,可以先查一查,厂商停服以后,它还剩下哪些功能。
你手里那台要联网才能用的设备,厂商哪天不管了,它还能用吗?
参考来源
TCC WEEKEND · 第68期
Written by Charles
ESTD 2026















































































