文章目录
-
- 一、从一条Twitter说起:AI把马里奥"拆"了
- [二、NES ROM这玩意儿,到底难在哪儿](#二、NES ROM这玩意儿,到底难在哪儿)
- 三、GPT-5.4凭什么能干这活儿
- 四、实操记录:三天搞出一个可运行的Rust版《SkyRoads》
-
- [Day 1:喂料与解构](#Day 1:喂料与解构)
- [Day 2:翻译与重构](#Day 2:翻译与重构)
- [Day 3:缝合与调试](#Day 3:缝合与调试)
- 五、这事儿为什么重要
- 六、冷水也得泼:不是万能药,还有坑
- 七、写在最后:从"养龙虾"到"数字考古"
目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。
一、从一条Twitter说起:AI把马里奥"拆"了
3月6号早上我刷推的时候,差点把咖啡喷在屏幕上。Pietro Schirano发了一条视频:他拿着GPT-5.4,像拆乐高一样把《超级马里奥兄弟》的NES ROM给"肢解"了。不是那种简单的提取精灵图,而是实打实的逆向工程------让AI读取二进制ROM文件,暴露内存事件,最后居然生成了一套JavaScript模拟器,能在浏览器里跑起来,还能用API控制马里奥自动跳管子。
我当时就懵了。要知道,NES逆向这活儿,搁以前那是需要一帮子汇编大佬对着十六进制代码啃几个月的苦差事。现在呢?GPT-5.4用了三条提示词,连拆带写,把人家三十多年前的机器码翻译成了人类能看懂、能修改、能重新编译的现代代码。这事儿让我意识到,我们可能正站在一个临界点:AI不再只是帮你写新业务逻辑,它开始能读懂历史遗留下来的"数字文物"了。
二、NES ROM这玩意儿,到底难在哪儿
先给不熟悉的老铁科普一下。NES(Nintendo Entertainment System)就是咱们小时候玩的小霸王学习机原版,它的游戏都存在一种叫ROM的芯片里。这些ROM文件本质上是赤裸裸的机器码------6502处理器的汇编指令,混着图形块(CHR-ROM)和程序逻辑(PRG-ROM)。
传统意义上,如果你想逆向一个NES游戏,流程大概是这样的:先用调试器读取ROM,如果芯片有保护,可能还得化学剥离硅片层,用1200倍放大镜拍照,人工读出0和1。读出来以后,你得用反汇编工具(比如Ghidra)把机器码转成汇编语言。但汇编这玩意儿,跟天书差不多,全是LDA #00、STA 0200这种指令,看几行就头大。
更坑爹的是,NES的硬件特性很独特:有专门的PPU(图像处理单元)处理精灵和背景,APU(音频处理单元)生成八位机音效,还有各种Mapper芯片做内存映射。没有源代码,你想理解一个游戏怎么渲染画面、怎么检测碰撞,基本上得在汇编海洋里潜水几个月。
这就是为什么看到GPT-5.4能自动化解这个过程时,我感觉到一种"技术降维打击"的寒意。
三、GPT-5.4凭什么能干这活儿
今年3月5号发布的GPT-5.4,OpenAI官方给它定的调性是"迄今能力最强、最高效的专业工作前沿模型"。但我觉得真正革命性的不是它跑分多高,而是三个能力的组合:
第一,百万token的上下文窗口。API版本支持最高100万个token的上下文,这意味着你可以直接把整个NES ROM文件(通常就几百KB到几MB)连带技术文档一起塞给AI。以前用GPT-4o那种128K上下文,你得把ROM切得七零八落,AI根本看不到全局。现在好了,整盘磁带扔进去,AI能从头读到尾。
第二,原生计算机使用能力。GPT-5.4是第一个在通用模型里内置电脑操控能力的,它可以通过Playwright接管键鼠,看屏幕截图操作软件。在Codex环境里,它能调用工具搜索(Tool Search),自己查文档、写代码、跑测试,甚至能在OSWorld基准测试里拿到75%的任务成功率,超过人类平均的72.4%。
第三,Codex级别的代码理解。GPT-5.4把之前GPT-5.3-Codex的编程能力整合进来了,在SWE-Bench Pro基准上拿了57.7%的分数。这意味着它不仅懂自然语言,还懂各种编程范式、懂怎么把低级汇编逻辑重构成高级语言。
这三板斧下来,NES ROM逆向这种"读古卷"的活儿,突然就变成了"现代考古发掘"------AI有眼睛(计算机视觉)、有脑子(推理能力)、有手(代码生成),还有过目不忘的本事(长上下文)。
四、实操记录:三天搞出一个可运行的Rust版《SkyRoads》
光看别人秀不过瘾,我决定自己试试。但我没选马里奥(怕任天堂法务部敲门),而是找了个1990年代的DOS游戏《SkyRoads》------同样也是没有源代码的老古董,而且Ammaar Reshi已经用GPT-5.4做过类似案例,证明这条路走得通。
Day 1:喂料与解构
我先把《SkyRoads》的原始可执行文件(.exe)和相关的资源文件打包,写了一个详细的prompt:"这是一个1993年的DOS游戏二进制文件,请分析其结构,识别资源打包格式,提取音频和图像资源,并反汇编核心游戏逻辑。"
把文件上传给GPT-5.4 Thinking版本后,我选了"Reasoning Effort: High"模式。大约过了十分钟(中间我去泡了杯茶),AI开始输出分析。它识别出这是用Borland C++编译的,资源用了某种自定义的RLE压缩,并给出了提取资源的Python脚本。更离谱的是,它居然从二进制里还原出了原始的渲染流程------怎么清屏、怎么画3D轨道、怎么处理碰撞检测------用伪代码写出来了。
Day 2:翻译与重构
第二天我要求AI把汇编逻辑翻译成现代语言。我选择了Rust(因为想让最终产物性能好点)。GPT-5.4开始逐函数翻译:把INT 10h中断调用转成SDL2的图形API调用,把内存直接寻址转成Rust的安全引用,甚至识别出了原版代码里的几个明显bug(比如边界检查缺失),在翻译过程中顺手给修了。
过程中有个很妙的细节:AI在中间某次输出里"卡壳"了,因为它发现有个图形渲染例程调用了未初始化的内存。它居然在思考链里标注:"此处原二进制可能有未定义行为,建议用Option<T>处理"。这种对原始代码缺陷的识别能力,根本不是简单的模式匹配能做到的。
Day 3:缝合与调试
第三天主要是集成。我让AI用Rust重写整个游戏引擎,包括基于SDL2的渲染器、WASM支持(为了能在浏览器跑)、还有现代的声音混音器。GPT-5.4生成的代码结构相当工整:有模块分离、有错误处理、甚至加了单元测试。
跑起来的那一刻,看到那个 neon-colored 的飞船在轨道上滑行,听着还原的芯片音乐,我有一种时空错乱感------这代码是三十年前的灵魂,披上了2026年的外衣。
五、这事儿为什么重要
可能有人会问:费这么大劲折腾老游戏干嘛?直接玩模拟器不香吗?
首先是游戏保护。很多80、90年代的游戏,源代码早就丢了。厂商倒闭、硬盘损毁、档案遗失,ROM文件成了唯一存在的证据。以前我们只能靠模拟器硬跑,但那是"翻译着读",不是"真正理解"。现在AI能把这些二进制遗迹转译成现代可维护的代码,相当于给数字文化遗产做了"基因测序"。
其次是教育意义。对于想学游戏开发的年轻人,直接读经过AI整理和注释的C++/Rust代码,比啃6502汇编要友好一万倍。那些经典游戏的物理引擎、AI算法、资源管理技巧,原本锁在二进制里,现在解放出来了。
再者是安全研究。既然AI能逆向游戏,它也能逆向恶意软件、固件、物联网设备的二进制。实际上,RevEng.AI和LLM4Decompile项目已经在用类似技术做自动反汇编了,在HumanEval基准上能拿到47.5%的通过率,比Ghidra的20.1%强得多。GPT-5.4把这个能力从实验室带到了每个开发者的桌面。
六、冷水也得泼:不是万能药,还有坑
当然,别急着把IDA Pro和Ghidra扔进垃圾桶。GPT-5.4搞逆向,目前看有几个明显限制:
一是上下文成本。虽然API支持100万token,但超过272K后价格翻倍。一个大的NES ROM加上对话历史,几轮下来可能烧掉几十美元的API额度。有网友测试GPT-5.4 Pro,只发了句"Hi",AI认真推理了一番,直接扣了80美元。
二是准确率问题。在复杂的Mapper芯片逻辑或者自修改代码(self-modifying code)面前,AI还是会 hallucinate。我试的另一个ROM里有个时间敏感的IRQ处理程序,GPT-5.4翻译的版本在特定帧率下会崩,得人工调试。
三是法律和伦理边界。虽然逆向工程在研究、互操作性、preservation场景下合法,但如果你用这技术去破解现在的商业游戏、去掉DRM、或者偷别人的算法,那就是另一回事了。OpenAI在发布GPT-5.4时特别强调了新的安全评估,测试模型是否会在思维链里隐藏真实意图,但工具无罪,用工具的人得自律。
七、写在最后:从"养龙虾"到"数字考古"
最近AI圈有个梗叫"养龙虾"(OpenClaw),说的是用各种Agent框架让AI操控电脑干活。但我觉得GPT-5.4这次展示的能力更底层------它不只是"用电脑",而是"懂电脑存的东西"。
从让AI写新代码,到让AI读懂老代码,这个转变意味着软件工程的范式正在扩张。以前我们说"Legacy Code是技术债",现在也许该改口了:"Legacy Code是沉睡的资产"。只要有足够的算力和上下文,没有什么是不能被重新理解、重构、重生的。
那天跑通《SkyRoads》Rust版后,我盯着屏幕看了很久。那个像素飞船背后,是三十年来计算机技术的层积岩:从DOS实模式到Rust的内存安全,从软盘到云API,从人工逆向到AI自动化解构。GPT-5.4像是一个时间翻译器,让过去和未来能对话。
如果你手里也有那些想破解的复古游戏、想分析的老固件、或者只是好奇三十年前的程序员怎么写代码,现在可能是最好的时代。百万token的上下文窗口已经打开了,往里扔一块ROM吧,看看AI能给你变出什么魔法。
毕竟,当机器能读懂机器,人类终于可以从汇编的地狱里解脱出来了。
目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。
