1996 年,id Software 曾尝试通过一张售价 9.95 美元的
不过,这套看似完善的数字保护方案仅维持了 39 天就被黑客组织 GNOMON 破解,导致 id Software 停止销售相关光盘,包括约 15 万张库存盘。
当地时间 8 月 17 日,谷歌软件工程师 Fabien Sanglard 在其博客上回顾了这段历史。
据介绍,id Software 在 1996 年推出
当时一张 640 MiB 的 CD-ROM 容量已经相当可观,但
这张光盘于 1996 年 8 月 30 日正式发售,售价 9.95 美元。玩家购买后不但可以运行光盘中的
如果玩家在玩腻了
由于当时还没有普遍使用的联网验证系统,这种电话解锁方式成为 id Software 连接销售和软件授权的主要手段。
从设计思路来看,这套方案可以让玩家购买光盘后直接获得完整游戏,无需再次前往零售店。id Software 也可以减少传统实体零售渠道的参与,从而节省成本并获得更多销售收入。
1996 年 10 月 8 日,GNOMON 发布相关破解工具。该工具能够根据解锁程序显示的 11 位验证码自动生成有效序列号。如此一来,用户无需实际付款,就可以解锁光盘中的完整游戏。
Fabien Sanglard 对光盘进行逆向分析后发现,这套系统的核心问题在于“安全性依赖于保密”。TestDrive 的工具会对游戏可执行文件进行处理,将原始文件头替换为自定义头部,并将文件转换为特殊格式,同时生成用于后续恢复的相关数据。
表面上看,解锁过程中所需的序列号由服务器根据不断变化的验证码生成,因此似乎可以避免序列号重复使用。但实际上,光盘中的解锁程序本身就包含了生成序列号所需的信息。
具体来说,解锁程序会根据验证码,从光盘内的本地数据中计算出一个序列号,然后将其与用户输入的序列号进行比较。一旦破解者从中找出计算序列号的算法,就可以绕过付款环节直接生成有效序列号。GNOMON 最终找到了这一漏洞,而整个过程只有 39 天。
这套系统后来经过逆向工程进一步还原。研究显示,验证码会被拆分为游戏 ID 以及用于索引数据表的参数,程序再结合光盘中硬编码的数据和对应游戏的信息计算序列号。由于所有必要数据均已随光盘提供,破解者无需连接 id Software 的服务器即可完成计算。
除了核心加密方案被破解外,Sanglard 还发现这张光盘中的解锁系统存在其他问题。例如,
更严重的是,系统内部还存在大量能够辅助逆向分析的文件。虽然说明中提到了加密的 SKU.17 文件,但光盘内同时存在包含相同信息的明文 SKU.TXT 文件。此外,一些其他文件也与对应的加密文件同时存在。
研究还发现,这套系统使用的文件库格式本身没有经过真正的加密或混淆处理。破解者只需要理解相关目录和文件结构,就能够获取生成序列号所需的数据。
破解事件最终给 id Software 的零售计划造成了直接影响。由于大家都可以用破解工具解锁游戏,继续销售这套光盘已经失去意义。id Software 因此选择停止销售,并留下约 15 万张 CD-ROM 库存。
这次失败也反映出 20 世纪 90 年代软件厂商面临的数字保护问题。当时互联网基础设施和在线授权机制尚未普及,软件厂商往往需要把授权逻辑和相关数据直接放入用户购买的软件中,因此一旦本地程序被逆向分析,整个保护机制就可能被绕过。
特别
/阅读下一篇/相关推荐热点推荐黑历史:96年
全球首例!51岁男子双大腿被机器绞断离体近3小时后送医,苏州医疗团队8小时手术成功接回,术后20个月已能借助助行器站立行走
特斯拉客服回应近300万辆召回具体做法:不用都进店,三项提示分级处理,贴纸9月底到店领,给车主3年时间
眼下美国最尴尬的情况就是,如果承认人民币被低估,中国的GDP马上就会超过美国,要是不承认,美国只能继续忍受中国的商品大量出口
“两女孩买三张火车票占座放零食”引热议,其妈妈最新回应:全程27小时,担心俩孩子旁边坐的是陌生男性,因此没退成人票
暴雨、台风等5预警齐发!今晚至明晚,广西、海南、广东、福建、浙江等地有大到暴雨;江苏、上海、浙江、福建、广西、广东等地有8-9级大风
女子花55元“捡漏”1.4万元奢侈品项链,品牌方:是系统bug,希望消费者主动申请退款;平台:愿补偿5元心意金










