打开 Windows 自带的计算器,输入 200 + 10%,然后按等号,出来是 220。再敲 200 × 10%,出来是 20。
同样是 10%,一次被当成 20 加了上去,一次被当成 0.1 乘了进去。这条规则哪儿都没写,计算器也没开源,普通人以前根本没办法知道它背后是怎么算的。
现在可以直接问 AI:「帮我看看 Windows 计算器的 % 是怎么算的」。它不是凭训练时记住的知识回答,而是真的去拆计算器的程序文件,一段段读汇编,把处理 % 的那段逻辑翻出来给你看。
翻出来的规则是这样:按下 % 时,计算器会先看前面跟的是什么运算符。是加号,10% 就算成前面那个数的 10%,200 的 10% 是 20,加起来才是 220;是乘号,10% 就只是 0.1,200 × 0.1 得 20。
背后干这活的,是这几天 GitHub 上很火的一个开源项目 REA,截至 10 月 12 日有 12.4 万 star。仓库 4 月就建了,前半年几乎没动静,10 月初才突然起飞,十来天涨到现在这个数。
REA 是干嘛的
REA 全名 Reverse Engineer Anything,直译过来就是「逆向一切」。
所谓逆向,有点像你拿到一台封闭的机器,只知道按下按钮会发生什么,却不知道里面的零件是怎么配合的。你只能反复操作、观察结果,一点点推断它内部的工作原理。放到软件上,就是你没有源码,只有个装好的程序,却要搞清楚它内部怎么转。
这活儿以前基本是安全研究员和少数极客的专属:得看得懂汇编,得会用 IDA、Ghidra 这些工具,一个问题啃上几天是家常便饭。
REA 干的事,是把这套工具接进 Claude Code、Codex、Cursor 这些 AI 编程助手。你用大白话问,AI 自己去拆程序、读代码、追调用,最后给你一句答案,还会把它找到的证据列出来,拿不准的地方也标给你。整个过程都在你自己的电脑上跑,程序不会传出去。
官网放的几个例子
挑的全是大家眼熟的东西,开头那个计算器就是其中之一。
还有一个是 Chrome 断网时蹦出来的小恐龙。玩过的都记得,它会越跑越快。AI 从脚本里翻出了加速规则:初始速度 6,只要没撞上仙人掌,每帧加 0.001,到 13 封顶。摸清规则之后,它还照做一个带速度滑块的小恐龙,想跑多快自己拽。
手机验证码为什么 30 秒一换,也一样拆得开。AI 解开开源验证码 App Aegis 的安装包,从 3000 多个类里找出生成验证码的那个:时间按 30 秒切成段,段号加上账户密钥,算出一个六位数,跨到下一段就换个新的。
最老的一个案例是 1996 年的打砖块游戏 DX-Ball,不少人小时候玩过。AI 从它的可执行文件里,还原出砖块被击中时左右声道怎么分配的那段计算,写成了 C 代码。拿这段代码跟原版对了 3205 组测试,重新编译出来的 63 个字节,一个不差。
连厂商不修的 bug,也能自己动手
有位用户被 Windows 远程桌面客户端折磨了快十年,一共两个毛病。一个是窗口偶尔突然糊成一团,字都看不清,只能重启程序;另一个更烦,每回从全屏切回窗口,窗口就大一圈,切几次比例就全乱了。
微软一直没修,他也就一直忍着。
有天实在忍不住了,他把远程桌面的程序文件 mstsc.exe 丢给 Claude,提示词就是把两个 bug 说清楚,请它在没有源码的情况下直接改。
Claude 在几兆的可执行文件里摸到了病根。窗口越切越大,是因为程序把已经算上边框的尺寸,又照着边框扩了一次。修法简单得有点好笑:把那次多余的调用去掉就完事。落到文件里,是把 e8 16 2d 00 00 这 5 个字节换成 5 个 90,也就是「什么都不干」。另一个 bug 改的是一处栈偏移。
改完之后,两个毛病都没再出现。
修 bug 这人本身就懂逆向,Claude 每处改动给的解释,他看了也觉得说得通。按他自己的说法,干这行经常往内存里打这种 90 补丁。可就算是他,没源码的时候光是把该改哪儿找出来,就得一周。这次加上 AI,全程半小时出头,其中一部分时间还是干等着点确认。
他忍了十年没动手,是因为不划算:为一个窗口越变越大的毛病搭进去一周,怎么算都亏。现在缩成半小时,顺手就修了。
微软手里有源码,十年没修;他只有一个程序文件,半小时修好了。
还有人更狠,拿每月 20 美元的 AI 订阅去反编译 DOS 老游戏,其中一款大概两天就完整还原成源码,重新编译出来跟原版二进制一模一样。
怎么上手
先装好 Node.js,终端里跑:
npx rea-agents@latest setup
它会把你电脑上的 AI 编程助手列出来(Claude Code、Codex、Cursor、Gemini CLI 这些),选好、确认安装计划,重启助手就行。
接着直接问,比如:
用 REA 看看 Windows 计算器的 % 按钮,分别找出它跟在加号和乘号后面的规则,再做一个两种情况都能算对的小计算器。
要分析的是 Electron 桌面应用或者网页(VS Code、Notion、Slack 这类),装完就能用。要拆计算器、老游戏这种原生程序,电脑上还得有 Hopper、Ghidra 或 IDA 其中一样,装的时候可以让它顺手把 Hopper 给你装上。
动手之前说一句
改闭源软件的程序文件,可能违反它的用户协议。下手前先想清楚,那是不是你有权处理的软件。
GitHub 地址:https://github.com/morluto/rea
关于
关注我获取更多资讯