《大航海时代2》被AI拆了个底朝天:5800条对白、1350字节的风浪,这波老游戏逆向不为破解

源自12位全网作者

04:19

最近逆向圈流传开一篇“硬核考古”。有人拿1994年的《大航海时代2》做了个完整的逆向工程实验,用AI把游戏目录里67个文件一个个拆开,最后恢复出大约5800条文本、101个港口的完整贸易表、六条主人公线的剧情拓扑。这篇实验记录在知乎拿到897个赞、1145个收藏,评论区里还炸出一批正在干同样事情的人。

有意思的是,这件事跟“破解”一点关系都没有。

用实验者自己的话说,他们做的事是拿当年最喜欢的游戏当样本,用今天才有的AI工具去做它当年完全没人去做的那层工作,把游戏的内部结构、剧情拓扑、设计原语一层层抠出来。知乎动机是怀旧,产物却是一份扎实的研究账本。

先分清:逆向、破解、开挂是三件事

在大多数人的印象里,“逆向工程”约等于破解软件或者做外挂。这次实验恰好把这三个概念掰开了讲。

开挂用的Cheat Engine那类工具,本质是在运行时内存里搜一个数字——金钱、血量——找到地址然后改掉。它不需要理解程序怎么工作,只需要找到一个数。破解是绕过授权验证。而这次做的“结构逆向”,目标是搞清楚程序到底怎么运转:数据表怎么组织、剧情脚本怎么触发、六条主线怎么交叉。逆向工程的核心是搞清楚程序怎么工作,作弊只需要找一个值改它。知乎两件事性质完全不同。

拆出来的东西很具体:游戏目录67个文件,真正关键的只有8个。文本层恢复了约5800条,其中.mes文件4303条、通用对话1022条、菜单命令61条、角色名192个。知乎

港口贸易藏在Za_dat.dat里,2424字节,正好拆成101条记录、每条12个字段,某个槽位填0xFFFF就代表这个港口不做某种买卖。知乎更妙的是Windcur.dat,1350字节,正好排成30列乘45行的网格,跟世界地图对齐——你当年玩的时候感觉“这片海顺、那片海慢”,底层就是每个格子一个字节的风向洋流参数。

《大航海时代2》被AI拆了个底朝天:5800条对白、1350字节的风浪,这波老游戏逆向不为破解

所谓“世界感”,不是靠演出堆出来的,是几张几百字节的数据表驱动出来的。

AI是主力还是助理?答案是一人一句

这个实验最有价值的部分,是它认真回答了“AI到底能不能做逆向”这个问题——不是喊口号,是拿一个真实项目过了一遍。

按工作量算,AI是绝对主力,项目里80%以上的时间花在整理、归纳、记账上,这些活基本全交给AI。知乎5800条文本让人手动按人物、地点、任务分类,至少要两三周,AI半天给出粗分类,人花两小时筛错;48个chunk、186个subscript、745条派发边,手画拓扑图要一周,AI半小时画完,人花一个上午检查异常节点。传统逆向最劝退人的,恰恰就是这种“材料都看见了,但组织不起来”的中间地带。

《大航海时代2》被AI拆了个底朝天:5800条对白、1350字节的风浪,这波老游戏逆向不为破解

但按判断权重算,AI还是助理。剩下不到20%的核心判断——某个opcode到底是什么语义、某条派发边是控制流还是误识别——必须靠反汇编器、调试器和最小实验去压实。实验者有句话值得所有想用AI做逆向的人记住:逆向工程里最危险的就是“看起来合理”。知乎AI会猜,而且经常猜得读起来很通顺。

实验里还有一个特别真实的卡点。剧情脚本是变长指令,就像一本没有标点符号、全是数字的书,你不知道每条指令多长,断错一个字节后面全歪。Claude在这里卡了很久,倾向于一字节一字节往下确认;后来换Codex,它换了个笨办法:把几千页“乱码”全扫一遍,找反复出现的片段,结果发现一个由9个数字组成的片段反复出现了3449次,这种规模的重复不可能是巧合。知乎再拿这个片段去已抽出的文本字典里交叉验证,3449个全部命中,整套脚本语法就此破开。

结论很清醒:不同AI在不同任务上能力差距很大,把它们当成专业不同的同事,比当成万能的神谕靠谱。

这不是孤例,一波“AI考古”正在成型

往前翻,这波潮流有清晰的脚印。今年3月,有知乎作者连载《尝试使用AI逆向游戏》,解密老游戏《妖花之园》,作者感慨以前花数天时间啃二进制汇编调试的工作量,可能等价于现在AI花几十块钱的token。知乎6月,有人逆向了一台20年前便携式DVD播放器里的游戏格式——随着DVD播放器被淘汰,这整个游戏库几乎从互联网上消失,他干脆做了个模拟器让游戏重新跑起来。知乎8月,还有人在做《空洞骑士》这类现代独立游戏的逆向实战系列,开篇就问:玩《空洞骑士》时,你是否曾对着满背包的护符,纠结该带哪几个?知乎

《大航海时代2》被AI拆了个底朝天:5800条对白、1350字节的风浪,这波老游戏逆向不为破解

《大航海时代2》那篇文章的评论区更有意思。有条评论说:这才是真正做游戏研究的人,研究的是技法和语料本身,而不是借IP的情怀壳还魂。知乎这位读者自己正在逆向仙剑DOS版和《轩辕剑2》及其外传。

另一条轻描淡写:哈哈,我逆向了川中岛之战的AI设计。知乎——那也是光荣的老游戏。也有人泼冷水:“内容不错,就是有点啰嗦,信息密度低”“因为这篇文字也用了AI辅助”。实验者没回避这一点:AI写的初稿,同样需要人来压密度。

为什么是现在?一个被超过46万人读过的知乎回答给了背景:GPT-5级智力和AI逆向AgentSkills扩散之前,逆向工程确实是计算机界技术门槛最高、最吃天赋与肝量的领域之一。知乎AI出现之前,一个中等规模的老游戏,圈内高手单干通常要几个月到一年;AI没有取消门槛——判断层还是得靠人——但它把最耗人的中间地带接走了,让“爱好者级别的考古”从不可能变成可能。

今年1月,LowLevel那期《万物皆可开源》的中配老视频也在B站又转了一轮,把“会逆向就能开源”的说法带给了更多人。哔哩哔哩

顺便说一个反直觉的事:连“用AI汉化老游戏”这种听起来纯翻译的活,也绕不开逆向。翻译只是最小的问题,汉化的主要难点还是软件工程层面的,很多老游戏老软件从来没有认真考虑过显示自己一亩三分地之外的东西。知乎翻译再快,字库和排版系统还是得一字节一字节地改。AI改变的是逆向的形状,不是让它消失。

想自己动手?先把这三条听进去

如果你也是玩着这些游戏长大的,看到这里有点手痒,先把几条前人踩过的坑记下来。

第一,开工前先把prior work搜一遍。实验者自己解头像格式绕了好几天,最后在GitHub上搜到kaodata和uncharted-waters-2-research两个现成仓库才走通。知乎三十年的经典游戏,多半有人拆过一部分,别从零猜格式。

第二,按“资源→文本→数据表→脚本→主程序”的顺序来,先易后难。头像、地图、对白这些解出来马上能看、能截图、能怀旧的层先做,既出成果,又能给后面啃硬骨头时提供对照基线。很多逆向项目死在前两周,原因就是被最显眼的文件吸引,在美术资源里转一个月也没碰到游戏逻辑。知乎

《大航海时代2》被AI拆了个底朝天:5800条对白、1350字节的风浪,这波老游戏逆向不为破解

第三,别信“一键逆向”的神话。把整个游戏丢给AI直接问“这游戏怎么工作”,大概率拿到一个流畅编造的答案。可用的姿势是让AI分层干活:先出文件清单,再抽文本,再建索引,再推结构,每一步都留可单独检查的产物,每条推断都标置信度。把它当记账员,别当神谕。

最后是边界。这种针对30年前DOS老游戏的结构研究、保存性质的逆向,圈内普遍当作学术爱好来做;但同样的手段对着在运营的商业软件、服务器端协议就是另一回事了,国内做逆向教学的视频几乎都会把“请遵守《网络安全法》”打在开头。情怀考古和碰瓷商业软件,中间有条线,别跨。

值得关注的不是游戏,是那套“账本”

这次实验留下的产物,比结论更有意思。作者把整个流程沉淀成了一套可复用的“账本”:扫文件、五维筛选、抽资源、建索引、推结构、标置信度——下一个老游戏逆向可以直接套用;而拆出来的设计原语——用状态做骨架、用桥节点做交叉、用回流避免分支爆炸、用重用让每个元素干多份活——据他说可以直接喂给下一个AI叙事项目。研究过程被逼着留下账本,而账本最终比结论本身更有价值。知乎

对普通玩家来说,这可能是一次难得的视角切换:你童年记忆里那个“活的世界”,底层是192个角色名、101个港口、几张数据表,以及约翰、卡特琳娜这些在不同主线里反复出现的“桥节点”。六条主人公线不是六个剧本,是同一个世界的六个入口。

对盯着AI内容产品的人来说,这套三十年前被硬约束逼出来的设计纪律,恰好是今天最缺的东西——素材成本归零的时代,结构感反而最值钱。

下一个被拆的会是谁?评论区已经有人报了仙剑和轩辕剑的名字。这个兴趣值得关注下去。

内容由AI生成
0
扫一下,分享更方便,购买更轻松
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

最新文章 热门文章