据他说:AI 逆向工程火了,真正的关键不是破解,是“检验官”——一个差点骗过所有测试的 bug 英文原教程 18.7 万浏览,我编译成中文了,视频是 1 分… · @swordBluesy · TwKit
@swordBluesy
据他说:AI 逆向工程火了,真正的关键不是破解,是“检验官”——一个差点骗过所有测试的 bug 英文原教程 18.7 万浏览,我编译成中文了,视频是 1 分钟速览。 X 上有个很火的词:Software is done(软件已死)。作者 @N01ennn 说,这波"逆向工程浪潮"真正的故事不是星标和截图,而是一个差点骗过所有测试的 bug。这篇 18.7 万浏览、249 赞,我把它编译成中文,重点是方法,不是破解。 作者:@N01ennn,X 浏览 186,699 / 249 赞,2026-10-14 【背景】 10 月 7 日 Replit 的 CEO 发帖说,很快所有软件都会事实上开源,一百万人看过;第二天 Matthew Berman 在一个 GitHub 仓库截图下写了"Software is done",350 万浏览。这个仓库就是 REA(Reverse Engineer Anything):给你的编程 Agent 一套工具,去看没有源码的程序内部,直到机器码,据原文已有 14.37 万星标。作者认为,满天的安装教程和提示词包都跳过了最关键的一环:怎么判断重建出来的东西是对的。这一环有个名字,叫 oracle(检验官)。 【第一步:搞懂 REA 是什么,5 分钟装好】 REA 是一个 MCP 服务 + 命令行,MIT 开源,作者 @morluto。你的 Agent 问一个关于本机程序的问题,REA 把程序丢进合适的引擎(原生程序用 Hopper、Ghidra 或 IDA,JavaScript、Electron、.NET、APK、网站有它自己的分析器),返回带证据的发现:哪个函数、哪个文件、哪次调用,以及还有什么不知道。全程本地运行,程序不会上传。支持 Claude Code、Codex、Cursor、Gemini CLI 等。 安装(Node 要 22.19+、24.11+ 或 26+): node -v npx rea-agents@latest setup (会显示计划、备份配置、改之前先问你) 重启 Agent 后检查:npx -y rea-agents@latest doctor --client claude_code --json 只有分析原生程序才需要额外装 Ghidra 12.1.x 和 64 位 JDK 21+。也可以直接对 Claude Code 说:用 npx rea-agents@latest setup 安装 REA 并连接到这个编程 Agent,先给我看安装计划,批准后再验证。 【第二步:先破一个谣——"他们反编译了 Adobe"并没有发生】 作者查了 ArtCraft 团队发布的十二个用 Rust 从零写的原生应用(MIT 或 Apache-2.0),比如对标 Photoshop 的 PhotoCraft。关键是 FilmCraft 的贡献规则里写着:不许读、反汇编或复制 Adobe 应用包里的任何东西,只许看文件名和列表,通过使用软件观察行为。也就是说,他们的"检验官"不是 Adobe 的代码,而是从外部观察到的行为。作者的总结:重建 Adobe 工作流的人,先禁止自己去读 Adobe。 即"干净室":一边研究原版,只记录它做什么(行为,不是代码);另一边只根据描述开发,从没见过原版代码。作者提到 80 年代 Compaq 重建 IBM PC BIOS 的先例,并强调这不是法律建议,各国规则和你接受的许可证不同。 【第三步:理解"检验官(Oracle)"——模型提议,检验官裁决】 Oracle 就是把你的重建结果和一个你信得过的参照做对比的检查。作者列了三种: 1. 字节检验:编译你的版本,和原版机器码逐字节比。例子:1996 年的 Windows 游戏 DX-Ball,REA 顺着一个音效调用找到决定左右声道平衡的函数,Agent 把不完整的伪代码写成一个小 C 函数,3,205 个测试用例对原版全部通过,63 个编译字节完全复现。 2. 行为检验:同样的输入喂给两边,比输出。例子:为什么 Windows 计算器里 200+10% 显示 220?REA 从安装的应用里抽出百分号处理逻辑:乘除之后,百分比 = 当前值/100;加减之后,百分比 = 当前值×前一个数/100,所以 200 的 10% 是 20,200+20=220。作者强调他们没有停在解释,还对照了微软公开的计算器源码,并记录了精确版本(Windows Calculator 11.2508.4.0、REA 4.1.0)。Chrome 小恐龙游戏同理:速度从 6 开始,每次更新加 0.001,上限 13,并用原版函数验证。 3. 运行检验:把整个程序造出来,真的去用。 【第四步:记住那个骗过检验官的 bug——"检验官也要测"】 来自 REA 官方博客(作者 N0zoM1z0,用 Agent 重建东方系列游戏):TH08 里一个函数已经通过逐字节比对,后来下游主机移植版报告"道具自动收集"有 bug。原因是重建代码里检查玩家火力是否等于 0.0,而原版用的是 128.0(最大火力阈值)。为什么能通过?比对工具为了容忍常量位置变化,会先调整地址再比指令,但没检查那个地址里存的浮点数值。指令字节一致,含义不一致。修复分两半:改源码,并让比对工具检查常量的实际字节;然后回头审计所有通过过弱检查的东西:1,548 个浮点字面量引用,又查出已被"接受"的五个函数里另外 12 个错误。他的原话:Test the oracle too。你的检查也是软件,也有 bug,有盲区的检验官不是错一个函数,而是悄悄批准几百个。 【第五步:两间房,一堵墙,一个 /goal】 干净室的 Agent 版: 房间 A(读者):一个带 REA 的 Claude Code 会话,负责调查并写 SPEC.md,只有它能出这间房。 墙:SPEC.md,写行为、输入、输出、边界情况、未知项;不写代码、不写地址、不写反编译出来的名字。 房间 B(建造者):在另一个文件夹新开一个会话,只拿到 SPEC.md,看不到分析过程。 读者提示词:Use REA to investigate how [功能] works in [应用]. 把每个结论标成观察、推断或未知,并引用证据;然后写 SPEC.md:行为、输入、输出、边界情况和未解决的未知项。只描述它做什么,不要代码、地址、原版的名字或素材。 建造者提示词:根据 SPEC.md 在 ./my-version 里实现这个功能,按 spec 里的行为写测试并运行。 再用 Claude Code 的 /goal 让它一直干到条件满足: /goal SPEC.md 里每个用例都在 ./my-version 通过,检验官拒绝全部 3 个故意植入的错误版本,且 ./my-version 之外没有文件被改动。或者 25 轮后停止。 要点:一个可衡量的终点、一个明确的检查、一个约束、一个轮数上限。 "3 个故意植入的失败"就是 TH08 教训变成的习惯:信任一次通过之前,给检验官三个必须失败的用例——改错一个常量、换一个分支、边界偏一位。只要有一个能通过,检验官就是坏的,之前所有绿灯都可疑。 【第六步:第一次实战】 热身:用 REA 官方练习用的小 Notes 应用(http://rea.tools/examples/notes-example.zip),问它"点导出按钮会发生什么",会得到每一跳的文件和行号。 正式:计算器 % 键端到端。房间 A:用 REA 检查 Windows 计算器的 % 键,还原加减乘除之后的规则,写 SPEC.md(规则、十个算例、边界情况:0%、100%、负数、前面没有数字时按 %),不要代码。房间 B:根据 SPEC.md 在 ./my-calc 做个小计算器,把十个算例写成测试,/goal 所有测试通过且 3 个植入错误变体被拒绝,15 轮封顶。最后把同样十道题在真计算器里敲一遍对比,一致就走完了整个循环:读、写 spec、造、验,对象是你没写过的软件,而且一行没抄。 【第七步:它做不到什么、你不能做什么】 做不到:碰不到服务器(跑在公司服务器上的代码从来没发给你);反编译不等于原始源码,只是重建,所以才需要检验官;硬目标仍然很难(去符号的 C++ 二进制和 Electron 应用是两回事);模型可能拒绝;商业工具要自己买授权,REA 不提供 IDA、Hopper、JEB 的许可证,破解版也明确不允许。 不允许:理解一个功能再造你自己的版本,是老的、合法的路子(干净室);不付费用别人的付费功能、发布别人的代码或绕过保护,不行。输出不等于权利,读懂程序不等于拥有它的代码、数据和名字。 【合规提醒(S1哥 补充)】 本文只讲对自己拥有或被授权的软件做研究、互操作和学习,别拿来破解、绕过付费或抄袭他人产品;各国法律和软件许可不同,动手前先看清授权。 【国内平台怎么用】 1. 抖音/视频号:做"一个计算器 % 键为什么 200+10%=220"这类 30 秒小科普——钩子是反直觉结果,演示 Agent 查出规则,播放量好、不涉及任何破解。 2. 小红书:把"检验官三种"做成图文卡片,标题"AI 写的代码怎么知道对不对"。 3. B 站:10–15 分钟屏录,走一遍 % 键循环,提示词放简介。 4. 一人公司思路(非作者原话,不保证收益):帮客户读懂自己的老系统并写 spec,前提是有授权。 5. 国内装 npx 可换 npm 镜像。 原文:@N01ennn(由 S1哥 编译) #S1哥 #Claude #AI编程 #逆向工程 https://x.com/N01ennn/article/2110319993128706208
曝光 116 · 评论 4 · 点赞 5 · 书签 0
查看原帖