REA 与逆向工程
最近 GitHub 上一个叫 REA(Reverse Engineer Anything)的开源项目最近很火。
它是一个 MIT 协议的 CLI 工具,同时也是一个 MCP Server,把 IDA 这类反编译引擎和一些分析工具接到 Claude Code、Codex这些 Agent 上。Agent 可以借助它拆解一个应用,给出伪代码、符号、字符串等细节,方便自己照着做一个。slogan 也很直白:“See a feature you like. Understand how it works, down to the binary level.”
项目 4 月就已经开源,10 月 8 日发布 6.0 之后,在 X 和 YouTube 上被大量转发,短短几天 star 数一路飙升,截至 10 月 14 日已经超过 21 万。
X 上 Wey Gu 发了一条推文,代表了相当一部分人的情绪:

大意是:当逆向二进制只是一项普通的 Agent 任务时,很多事情就被永久地改变了;世界上还有太多东西天然就等着被逆向,这个星球和它的文化正在进入一个新阶段。
我认同“门槛被永久降低”这一点,但对“改变”的方向有些不同的看法。
之前做数据加解密相关工作时,和国内几家头部安全企业的逆向工程师有过几次交流,了解过他们的职业日常和烦恼,分享一些粗浅的见解。
国内逆向工程一般处于这几种目的,一是分析恶意软件比如病毒,然后加固保护自家产品的,主要是防守;二是分析漏洞协助别人改进产品的,比如赏金猎人,主要是分析;三是破解软件绕过授权或进行二创的,主要是盈利。当然还有其他一些方向,但就不一一展开了。
逆向工程本身是一门很难、很枯燥、需要钻研的技术,但当它和编程一样变简单之后,可能这个领域不会像 vibe coding 一样涌入很多人、涌现很多软件,而是呈现存量递减,尤其是第三种。因为它的目的是从根上分析一个软件然后造一个同款,但现在复刻一款软件完全可以从表面开始,且来得比逆向快多了,代码层面是什么样其实不重要。
逆向工程和软件保护行为之间,存在长期的技术军备竞赛,最常见的就是企业间的红蓝对抗演练以及护网(当然护网的范畴远不止逆向,但逆向是其中很重要的一环)。
除此之外,软件加密、加壳、混淆、反调试、防篡改,都与逆向密切相关,或者可以说是在和逆向工程的博弈中发展起来的技术。
而 REA 的出现,会直接导致一般软件的加密、加壳等行为变得无意义,从而促使软件走向“摆烂”,软件本身变得透明。依赖大型服务或平台的可能会好一些,但个人/小团队的单体软件估计难以避免。
其实我觉得没什么可逆向的,正经写很多年代码的人都知道,代码这个东西没什么好加密或者见不得光的,无非写得不好被嘲弄一番 hhhhh。加密保护更多是商业上的反恶意竞争行为,目的是产权保护,比如技术专利、算法,而不是保护代码本身。
REA 的火爆,在我看来更像是给非安全从业者提供了一把打开潘多拉魔盒的钥匙。以前听到逆向工程,多少带点神秘感,感觉很酷,现在谁都能去体验一番,但很可能打开以后发现里面的东西也就那么回事儿😂
所以我感觉这波逆向潮不会很持久,一方面好奇心很容易退散,另一方面是值得逆向的软件或者有价值的逆向会越来越少。