10 美元买全套 id 游戏?1996 年《雷神之锤》光盘(2)
时间:2026-08-22 23:38 来源:来源:IT之家 作者:[db:作者] 点击:次
Fabien Sanglard 对光盘进行逆向分析后发现,这套系统的核心问题在于“安全性依赖于保密”。TestDrive 的工具会对游戏可执行文件进行处理,将原始文件头替换为自定义头部,并将文件转换为特殊格式,同时生成用于后续恢复的相关数据。 表面上看,解锁过程中所需的序列号由服务器根据不断变化的验证码生成,因此似乎可以避免序列号重复使用。但实际上,光盘中的解锁程序本身就包含了生成序列号所需的信息。 具体来说,解锁程序会根据验证码,从光盘内的本地数据中计算出一个序列号,然后将其与用户输入的序列号进行比较。一旦破解者从中找出计算序列号的算法,就可以绕过付款环节直接生成有效序列号。GNOMON 最终找到了这一漏洞,而整个过程只有 39 天。 这套系统后来经过逆向工程进一步还原。研究显示,验证码会被拆分为游戏 ID 以及用于索引数据表的参数,程序再结合光盘中硬编码的数据和对应游戏的信息计算序列号。由于所有必要数据均已随光盘提供,破解者无需连接 id Software 的服务器即可完成计算。 除了核心加密方案被破解外,Sanglard 还发现这张光盘中的解锁系统存在其他问题。例如,《Final Doom》的解锁功能本身就存在错误。光盘中的 SKU.17 文件将该游戏对应的名称错误记录为首字母大写的“Final”,而程序实际需要的是小写的“final”,导致付费用户无法正常获得对应解锁码。 更严重的是,系统内部还存在大量能够辅助逆向分析的文件。虽然说明中提到了加密的 SKU.17 文件,但光盘内同时存在包含相同信息的明文 SKU.TXT 文件。此外,一些其他文本文件也与对应的加密文件同时存在。 研究还发现,这套系统使用的文件库格式本身没有经过真正的加密或混淆处理。破解者只需要理解相关目录和文件结构,就能够获取生成序列号所需的数据。 破解事件最终给 id Software 的零售计划造成了直接影响。由于大家都可以用破解工具解锁游戏,继续销售这套光盘已经失去意义。id Software 因此选择停止销售,并留下约 15 万张 CD-ROM 库存。 这次失败也反映出 20 世纪 90 年代软件厂商面临的数字版权保护问题。当时互联网基础设施和在线授权机制尚未普及,软件厂商往往需要把授权逻辑和相关数据直接放入用户购买的软件中,因此一旦本地程序被逆向分析,整个保护机制就可能被绕过。 (责任编辑:admin) |