Hacker News 中文摘要

RSS订阅

《雷神之锤》共享版:一张容量稍显不足的CD-ROM -- Quake Shareware, a CD-ROM just a little too full

文章摘要

文章回顾了90年代中期CD-ROM的兴起及其对游戏行业的影响,指出其640MB容量远超当时游戏所需,并举例《第七访客》等游戏如何利用全动态视频技术。

文章总结

好的,这是根据您的要求,对原文主要内容进行的中文重述,保留了关键细节,并删减了与主题无关的冗余信息。


标题:雷神之锤共享版光盘:容量太大惹的祸

上世纪90年代中期,CD-ROM驱动器是PC上最酷的配件之一。其640MB的容量远超当时PC硬盘,让玩家得以进入多媒体世界,体验高分辨率图片、音效和流畅的视频。

对于游戏开发者来说,CD-ROM是个奇怪的家伙。它的容量远远超过了他们当时能制作的游戏资源量。一些游戏引入了全动态视频或高品质音乐。id Software的首席开发者约翰·卡马克曾开玩笑说,如果推出《毁灭战士》的CD版,他们会把游戏和一部一小时的制作花絮放进去。

纸上谈兵的好主意

到1996年6月,id Software完成了新作《雷神之锤》。他们计划像之前一样,同时发布共享版和完整版。由于游戏本身只占用22MB,id的人灵机一动:为什么不利用CD-ROM的剩余空间,把id所有游戏的加密完整版都放进去呢?这样玩家只需打个电话、用信用卡付款,就能立刻解锁游戏,省去了中间商。

这个想法被付诸实践。光盘于1996年7月3日公布,8月30日发行。然而,仅仅39天后,黑客组织GNOMON就发布了Quakecrk.zip,内含能解密光盘上所有游戏的QCRACK.EXE工具。

正如《毁灭战士之主》一书所述,这次共享版零售实验是场灾难。理论上,id想绕过零售商,让玩家购买共享版后,通过电话订购并获取密码来解锁完整游戏。但玩家们迅速破解了共享版,免费解锁了完整游戏。更糟的是,分销和订单处理等环节也失控了。id试图叫停零售共享版,但为时已晚,仓库里积压了近15万张光盘。

到底发生了什么?

玩家可以花9.95美元在CompUSA等商店买到这张光盘。光盘包装精美,正面贴有“共享版”标签,并附有解锁电话。这个号码至今仍可接通,但CompUSA早已倒闭,电话那头只会播放推销老年人用品的自动语音。

原本的设计流程

光盘的图形界面设计精良。玩家可以直接进入《雷神之锤》共享版,也可以点击“解锁”按钮。光盘还有一个“id软件库”区域,可以浏览并解锁id的所有游戏,包括多个版本的《毁灭战士》、《毁灭巫师》和《女巫》。

解锁时,程序会生成一个“代码编号”(挑战码),玩家需通过电话告知客服。支付费用后,会获得一个“解锁码”(序列号)。两个号码都带有校验和,以防止电话沟通中的错误。挑战码每次运行都会改变,且在界面激活时每5分钟轮换一次,以防止重放攻击。

问题出在哪里?

这个解锁工具由TestDrive Corp.提供。其原理是“变性”可执行文件,将文件头部替换为自定义头,并加密原始头部,生成一个“种子”。光盘上包含了所有游戏所需的“变性”文件和加密头部,唯独缺少从序列号中推导出的秘密“种子”。

黑客组织GNOMON发现,电话中获得的序列号根本不包含任何秘密,它仅仅是付款凭证。光盘上的解锁程序FLOW.EXE本身就能根据挑战码生成序列号,它所做的只是检查自己生成的序列号与用户输入的序列号是否匹配。整个保护机制完全依赖于“隐藏式安全”。

从挑战码到序列号的生成过程虽然复杂,但已被逆向工程破解。简单来说,挑战码被拆分为游戏ID、偏移量和深度。游戏ID用于索引加密数据库,获取游戏代号。代号用于从存档中检索一个DOC文件。该文件与代号和“Testdrive Corp.”字符串一起,将一个硬编码表转换为该游戏独有的数值表。然后,偏移量和深度反向遍历该表,生成一个值,最终计算出序列号。

更多漏洞

随着深入研究,发现这个系统漏洞百出,像是赶工之作。

  • 未经测试:部分解锁系统似乎从未被测试过。例如,《最终毁灭战士》因SKU.17文件中的拼写错误而无法通过电话解锁,导致非法用户反而比付费用户体验更好。
  • 明文文件:加密的SKU.17文件旁边,就有一个完全未加密的纯文本版本SKU.TXT。类似的文件还有很多。
  • 残留文件:光盘上包含临时文件、编辑器备份文件以及未使用的文件。
  • 库格式未加密:库文件格式未加密或混淆,很容易被解析,从而获取所有用于生成序列号的DOC文件。

评论总结

根据评论内容,主要围绕Quake共享版CD的安全漏洞、商业影响及怀旧回忆展开,观点如下:

1. 安全漏洞争议 - 评论1质疑将算法称为"通过模糊实现安全"是否公平,认为对称加密同样依赖密钥的"模糊性"("Is it really fair to call these such algorithms 'security through obscurity'?") - 评论6指出加密方案需每张CD使用不同密钥才能有效("Was there anyway to make this work unless every CD was burned with a different key")

2. 商业影响分歧 - 评论8认为此漏洞导致id Software损失数百万销售额,并可能影响团队分裂("This screw up ended up costing id Software millions in sales... can't help but wonder if this debacle played a role") - 评论7提出相反观点:共享版易破解可能是故意策略,低价吸引用户后通过后续购买获利("making the shareware disc easily-crackable was an intentional stroke of genius")

3. 怀旧与个人经历 - 评论3、5、7、12回忆购买经历、游戏解锁及CD音轨("Man, those CompUSA and Computer City pictures take me back" / "Ha, I remember buying the shareware disk and unlocking every game") - 评论11质疑照片中"Compu USA"标志的真实性("Where in the world did they get a store hung with signs that all say 'Compu USA'?")

4. 技术历史背景 - 评论14讨论CD-ROM时代游戏容量过剩及FMV技术("The title that made me go out and buy a CD-ROM drive was 'Wing Commander III'") - 评论15提及当时破解速度之快("It was always impressive to me to see how quickly someone would post a binary before the crack was posted")