盗版组织如何为游戏制作“破解版”?
我记得以前和朋友们会用5.25英寸软盘交换游戏。每一张软盘都是珍宝,但很快各种保护措施就出现了,试图阻止未经授权的复制。早在20世纪80年代,开发者和一群被称为“破解者”的年轻电脑爱好者之间就爆发了一场较量。开发者们推出了最早的防复制技术,而破解者则想通过绕过这些保护措施来炫耀自己的技术。
软盘及其最初的裂痕
早期的软件保护措施通常非常简单,至少以今天的标准来看是这样。游戏开发者会在磁性软盘上设置各种技巧来防止轻易复制,例如使用非标准记录格式、在软盘上设置坏扇区,或者将一些实体辅助材料(例如说明书中特制的彩色页面)与游戏捆绑在一起,要求玩家在启动游戏时输入这些材料中的特定词语。当时的经典口号是“别复制软盘”,尽管包括我在内的年轻游戏爱好者很少会遵守这条规则。
尽管发行商竭尽全力,盗版者还是很快找到了绕过这些保护措施的方法。他们通常会迅速找到游戏程序中执行检查的地方(例如,要求玩家输入指令中的正确单词),然后发布破解版——一个不再包含此类检查的修改版游戏。早在1985年,专家莱恩德·亨茨曼就指出“任何保护系统都无法维持超过几个月”,这足以说明年轻黑客们的手段是多么残酷有效。
Amiga 500 游戏机上的游戏《Dungeon Master》是当时为数不多的几个例子之一,它在破解者找到解决方法之前持续了将近一年。

早在20世纪80年代,盗版组织(所谓的“warez groups”)就已出现,彼此竞争,看谁能率先“破解”一款新游戏。这些破解者最初在父母的卧室或学校的电脑实验室里摸索,通过反复试验来学习。他们的动机并非为了经济利益,而是为了追求声望。他们渴望展现技术优势,挑战破解游戏本身的保护机制。一旦成功,他们便会自豪地将自己的名字以短动画或带有组织昵称的开场画面的形式嵌入到游戏中。这便催生了著名的“cracktroys”(由“crack”和“intro”两个词组合而成),即带有音乐、标志和问候语的简短图形介绍,这些介绍会伴随盗版游戏一同出现。这种色彩缤纷的数字涂鸦受到了其他电脑爱好者的赞赏,随着时间的推移,甚至连演示场景(demoscene)——一种独立于非法盗版之外的艺术编程——的雏形也由此发展而来。
TRIAD、Eagle Soft、Fairlight、Bonzai、Laser……这些都是你童年时代可能记得的盗版游戏公司的名字。
从技术上讲,20 世纪 80 年代的破解者几乎是在盲目地工作。最初的破解程序是通过实验产生的。他们使用十六进制编辑器或基本的调试器来检查游戏的机器代码,寻找实现保护机制的程序部分。由于他们没有源代码,所以只能求助于反汇编,即将机器代码转换回汇编语言。
有时,他们会直接将游戏加载到内存中,然后使用所谓的“监视器”——一种用于查看和编辑内存内容的程序,它还可以显示汇编语言指令。当他们发现游戏中存在诸如软盘真伪检测之类的环节时,就会移除或反转该条件。最常见的方法是跳过不需要的检测。在机器代码中,他们会替换条件跳转指令,使程序始终继续执行游戏,而不管检测结果如何。这只需对几个字节进行微小的修改即可实现。他们通常会插入一条无用的 NOP(空操作)指令来代替跳转指令,或者修改机器代码,使程序分支指向正确的方向。几乎所有经典的破解程序都基于这种思路——修改游戏代码的关键部分,使保护机制失效,游戏得以畅通无阻地运行。在那个年代,只要稍加练习,任何掌握汇编语言的人都能迅速成为一名成功的破解者。
20世纪90年代是个人电脑普及和网络安全防护措施得到改进的年代。
进入20世纪90年代,游戏界发生了翻天覆地的变化。个人电脑(PC)成为主流游戏平台,游戏体积也随之增大。游戏不再使用软盘,而是开始通过CD-ROM光盘传播,这带来了新的保护机制。其中一种就是简单的CD检测。游戏启动时会检查光驱中是否放入了正版光盘。盗版者则开发了所谓的“免CD破解程序”,通过修改游戏的可执行文件,绕过了光盘检测。当时最流行的破解文件下载网站之一是gamecopyworld.com,该网站至今仍然存在,形式与近二十年前几乎完全相同。破解过程极其简单,只要知道如何复制粘贴crack.exe文件,任何人都可以畅玩盗版游戏。

与此同时,出现了序列号(产品编号),用户在安装过程中需要输入。这些序列号是首次尝试将游戏与合法购买者绑定。但即便如此,盗版者很快也找到了其他方法。他们不去修改程序,而是选择破解生成有效序列号的算法。这就催生了密钥生成器,这是一种可以为游戏或软件生成有效序列号的小程序。破解者需要破解代码中用于验证密钥的部分,并确定生成正确密钥的数学公式或逻辑。
密钥生成器往往是精美的艺术品。除了生成可用密钥的基本功能外,它们还具有一定的美感。许多密钥生成器都配有有趣的图形特效和8位音乐,就像小型演示场景作品一样。它们的编写语言也多种多样,从汇编语言到C++,不一而足,具体取决于作者。
随着20世纪90年代末互联网的普及,全球盗版基础设施也随之建立起来。通过BBS服务器(电子公告板系统)和早期的互联网渠道(FTP服务器、IRC),破解程序和盗版游戏的传播速度更快、范围更广。
像Razor 1911、Skid Row、Reloaded等盗版组织在游戏玩家中几乎成了传奇。全世界成千上万的玩家都曾在非法获取的游戏中见过他们的身影。尽管这些组织一直处于地下活动状态,但他们建立的声誉和名声却堪比音乐圈里的摇滚乐队。对许多年轻玩家来说,这些盗版组织甚至比游戏开发商更受推崇。我记得我曾经阅读过盗版游戏附带的NFO文件(文本文件)。这些文件里充满了ASCII艺术、幽默的文字以及关于谁成功破解了游戏的自豪宣言。从中你可以了解到某个产品背后的团队是什么样的,以及他们破解的保护机制有多么复杂。
在此期间,保护技术开始升级。除了简单的光盘真伪验证外,发行商开始采用更强大的解决方案。专业的数字版权管理(DRM)库应运而生,例如 SafeDisc(Macrovision 公司于 1998 年左右推出)和 SecuROM(索尼数字应用开发公司旗下)。这些保护措施在游戏程序代码中加入了特殊的例程,通过查找数字签名甚至物理缺陷(复制品无法复制)来验证光盘是否为正版。
起初,这些保护措施对破解者来说相对容易预测。由于开发者并不经常更新这些措施,因此人们认为,一旦某个团队弄清了保护机制的运作方式,他们就可以编写一个自动破解工具,移除所有后续游戏中相同的保护措施。
当然,这种情况并没有持续太久。到了20世纪90年代末和新千年之初,保护措施变得越来越动态和复杂。发行商和DRM开发商意识到,如果想要让黑客头疼,就必须不断更新保护措施。因此,他们为每一款大型游戏更新了SafeDisc/SecuROM,增加了新的检查层,并且开始采用更激进的方法,例如加密部分代码和压缩可执行文件(使用所谓的打包器),将游戏打包成一个“外壳”,使破解保护代码变得更加困难。
互联网、数字版权管理以及日益棘手的问题
二十多年前,互联网速度飞快,盗版文件通过Napster、eDonkey、eMule、BitTorrent等网络平台大规模传播。与此同时,游戏保护技术也达到了前所未有的高度。数字版权管理(DRM)一词应运而生,它涵盖了一系列用于控制数字内容使用的技术。对于PC游戏而言,这意味着更强大的保护措施,不仅针对光盘(CD/DVD),也针对软件本身。SafeDisc和SecuROM不断发展,但与此同时,臭名昭著的StarForce也出现了——这种俄罗斯出品的保护技术在千禧年的第一个十年里被认为是破解难度最高的之一。
StarForce 在游戏玩家和盗版者中几乎拥有了神话般的地位。它以驱动程序的形式植入系统,深入操作系统内部,控制对光驱和游戏的访问。例如,SafeDisc 只会检查 CD 上的几个隐藏扇区,而 StarForce 则会检查所有可能的扇区。它不仅会检查光驱的读取延迟(虚拟光驱上的磁盘映像很难重现这种延迟),还会安装隐藏驱动程序,一旦检测到任何可疑干扰就会阻止游戏运行。我记得当时有玩家抱怨说,StarForce 有时甚至会在正版系统上造成问题。它是一种侵入性极强的保护措施,会降低系统速度,并且需要联网激活,这在当时还是一项新技术。

对于破解者来说,StarForce 的出现是一个真正的挑战,或许也是任何一款游戏长期以来未被破解以来面临的第一个真正威胁。第一个成功破解 StarForce 保护的程序,是经过数月努力才实现的。其中一位最早的 StarForce 破解程序作者,花费了数月时间进行深入的分析和编程才最终完成破解。
一些带有 StarForce 保护机制的游戏(例如育碧的游戏)以“磁盘镜像”的形式在互联网上流传,需要使用 Daemon Tools 或 Alcohol 120% 等工具挂载,并使用一些特殊技巧来绕过保护,例如从特定的 IDE/SATA 硬盘启动或关闭某些硬盘。曾经有一段时间,没有简单的破解方法,只有一些不成熟的绕过 StarForce 的教程。但随着时间的推移,StarForce 也逐渐衰落了。
破解者如何应对如此复杂的DRM系统?答案在于日益精密的逆向工程方法和工具。几十年前,代码反汇编工具曾是主流。SoftICE在破解者中非常流行,后来被OllyDbg取代。除此之外,传奇的IDA Pro(交互式反汇编器)也逐渐确立了地位,它与“Hex-Rays反编译器”模块结合使用,能够进行深入的静态分析。借助IDA Pro,可以将机器代码转换回伪C代码,这对于理解复杂的保护机制非常有帮助。
现代破解者最常用的工具是用于反汇编和分析的IDA Pro(现在也开源了Ghidra),以及用于动态程序跟踪的调试器,例如OllyDbg及其64位版本x64dbg。借助这些工具,破解者可以逐行检查游戏代码,直到找到执行保护检查的部分。然后,他会修改代码(通常在调试期间在内存中修改),并测试这些更改是否能移除保护机制。
当破解程序找到一组能够禁用DRM的最小修复方案(例如跳过序列号验证、禁用光盘检测或移除试用版时间限制)时,它会将这些更改写入程序。程序会创建一个“补丁”或小型程序,对原版游戏进行相同的修改,供其他用户使用。这是破解的关键所在。补丁程序只会修改游戏可执行文件中的几个字节,但这几个字节决定了游戏是否需要身份验证或可以无限制运行。补丁破解程序的优势在于其体积非常小(只有几千字节),因为它们不包含整个游戏,而只是对受保护代码所在位置的机器代码进行了修正。
由于DRM开发者意识到破解者正在逐步破解他们的方案,因此在2005年至2010年间,他们开始在保护代码中加入越来越多的技巧,使上述工具更难被使用。保护机制开始检测自身是否在调试器中运行(如果是,则行为会有所不同,甚至完全停止运行)。自检代码也随之出现。程序会在数百个位置检查自身代码是否被修改,如果检测到异常,则会抛出错误或静默禁用游戏的部分功能。
诸如变形码和多态加密等技术成为了数字版权管理(DRM)技术的一部分。例如,安全码每次启动都会略有变化(使其难以识别),或者采用深度加密,仅在运行期间解密,通常使用与硬件绑定的动态密钥。
有些数字版权管理(DRM)技术会将游戏锁定在一种虚拟机(VM)中。游戏程序运行在一个受控环境中,每条指令都会受到另一层软件的检查。破解者必须先欺骗这个虚拟机才能获取真正的游戏代码。
开发者们不断地给破解者设置障碍。当他们以为已经成功时,开发者们又会想出新的挑战,例如CRC校验,它让游戏不断检查文件的完整性,以检测文件是否被篡改。或者,安全开发者会故意设置假陷阱,让某些代码看起来像是保护的关键,而实际上真正的机制隐藏在别处。
破解者们随即升级了破解方法。对于最复杂的保护机制,仅仅找到一个“真/假条件”已经远远不够。有时,他们需要破解整个机制,并编写相应的定制工具。例如,当保护机制遍布程序数千个位置时,破解者们会编写脚本自动梳理代码,并移除受保护的部分。例如,二十年前,盗版圈的私人论坛上就流传着这样一款工具。它能够移除.exe文件中的SecuROM保护,从而恢复游戏的“纯净”版本,使其不再受DRM保护。当然,保护机制的开发者很快就改变了他们的破解方法。
有趣的是,我多次听说,在这段时间里,破解版甚至让一些游戏运行得更快了。为什么呢?因为尽管有各种检查机制,某些保护措施仍然会导致性能下降。玩家们反映,盗版游戏的运行比正版更流畅。例如,《生化危机8:村庄》(2021)就出现了这种情况,他们发现没有卡普空DRM和Denuvo的盗版版本没有正版游戏中常见的卡顿现象。发行商后来发布了补丁来改善性能。当然,这并不意味着盗版对游戏有利,但这确实指出了一个有趣的副作用。破解有时也意味着移除冗余代码,从而使游戏得到更好的优化。
Denuvo赢了吗?
大约在2014年,一个新的挑战者出现,向发行商承诺将彻底终结盗版(至少在PC端)。这家奥地利公司推出了Denuvo反篡改技术。它并非传统意义上的独立DRM保护,而是对现有保护机制(例如Steam的DRM、Origin等)的补充,起到防止代码篡改的作用。
Denuvo 将游戏与你的电脑硬件绑定,并生成唯一的密钥。当你首次启动游戏时,它会将自身与你的电脑配置绑定。每个游戏副本都会获得一个与你的处理器、显卡、主板等硬件绑定的特殊令牌,并且游戏内部会调用大量代码来验证这个令牌。Denuvo 的代码嵌入在游戏的各个角落,几乎不可能在不破坏游戏的情况下移除这种保护机制。你可以想象一下,这是一种精妙绝伦的加密和代码交织技术,游戏的实际功能和保护机制如同编织的桌布般相互重叠。如果你抽掉一根线,整张桌布就会被破坏殆尽。
首批采用Denuvo加密的游戏(2014年的《FIFA 15》和《龙腾世纪:审判》)破解起来非常棘手。直到2014年末,中国盗版组织3DM才宣布他们已经破解了Denuvo,并将很快发布破解程序。他们确实发布了破解程序,但仅仅一款游戏就耗时近一个月,而此前破解程序只需几天就能完成。
3DM 团队的领导者,网名“鸟姐”,早在 2016 年初就表示他们放弃了《正当防卫 3》,并预言“一两年内可能就再也没有免费游戏了”。这番言论在盗版论坛和种子网站上迅速传播开来,许多人将其解读为认输。
3DM随后象征性地宣布暂停破解游戏一年,以观察如果盗版者缺席,游戏销量是否会有所提升。这或许也是一种策略性的退让。与此同时,欧洲的破解组织也加入了战局,决心证明任何保护措施迟早都会被攻破。
2016年至2018年间,意大利破解组织CPY(Conspiracy)因成功破解Denuvo而闻名。他们接过了其他破解者放弃的接力棒。例如,游戏《刺客信条:起源》(2017)使用了Denuvo、VMProtect和育碧自家的Uplay保护(即三重保护),在开发约三个月后最终破解成功。他们花了三个月的时间破解这款游戏,这在以前是闻所未闻的,但他们成功了。
另一方面,发行商当时都在庆祝。Denuvo 为他们带来了 90 天的抢购期,在此期间游戏销量火爆,因为没有盗版。这实际上正是 Denuvo 的主要卖点。他们并不能保证永远坚不可摧,但如果这种保护能够持续到利润最高的最初几周或几个月,那么它的目的就达到了。
然而,破解者们并没有用枪指着玉米。事实证明,Denuvo 确实难以破解,但并非坚不可摧。到了 2017 年,情况发生了惊人的逆转。最初近一年都难以破解的 Denuvo,如今在几天甚至几小时内就被攻破了。例如,《南方公园:完整破碎》、《中土世界:战争之影》、《全面战争:战锤2》和《FIFA 18》都在 2017 年秋季发售当天就被破解了。这对 Denuvo 和发行商来说都是巨大的打击。
事实证明,盗版组织已经破解了奥地利的恩尼格玛密码机。他们没有透露破解方法,但显然已经实现了破解过程的自动化或大幅加速。他们可能已经构建了自己的高级分析平台,可以追踪Denuvo代码的执行情况,甚至可能从内存中提取解密后的游戏代码,并用Denuvo进行“清洗”。如果来自封闭论坛的传言属实,某些版本的Denuvo采用了一种在运行时“植入”游戏的方法,即在玩家玩游戏时让Denuvo解密自身的部分代码,然后捕获发现的代码并将其“修补”回盗版游戏。这听起来像是科幻小说,但考虑到当年破解的速度,类似的操作几乎肯定在幕后进行过。
如今,Denuvo 仍然存在于许多 3A 游戏中,但它在玩家群体中的口碑却相当糟糕。许多玩家讨厌它,因为它会导致性能问题,并且会将游戏锁定在单一设备上,尽管他们也知道没有任何保护措施能够从长远来看是完美的。这时,一个新名字出现了:Empress——一位鲜为人知的自由黑客,她在 2020 年至 2023 年间因成功破解多个版本的 Denuvo 而声名鹊起,并解锁了《生化危机8:村庄》、《荒野大镖客2》、《星球大战绝地:幸存者》等多款游戏。在随破解文件附上的宣言中,Empress 写道,她“享受摧毁 Denuvo 的过程”,她这样做是因为她认为 DRM 羞辱了诚实的玩家。她的案例揭示了道德与违法行为之间微妙的界限。一方面,她的行为受到大众的欢迎,因为这让他们能够玩到一些运行更流畅、没有网络限制的游戏……但另一方面,很明显,这违反了法律,而且她的破解程序也使得简单的盗版(免费玩游戏)成为可能。
DRM与破解者之间的斗争中,一个悖论是:没有什么是一成不变的。盗版长达40多年的历史印证了这一点。然而,时间跨度确实发生了显著变化。过去,游戏发布当晚就会出现破解程序,但如今,这种保护措施足以让盗版者在数周、数月甚至数年内都无法得逞。
但这也正是盗版性质发生变化的原因。过去,盗版侧重于最热门游戏的快速传播,而如今,其重点或许更多地在于存档和保存游戏,以供后人研究。破解者们已经对Denuvo感到厌倦(Empress最近也退出了监管),并非因为Denuvo无法破解,而是因为破解过程漫长而枯燥,而且游戏可能在此期间失去市场。因此,许多新游戏要么被延迟盗版,要么根本无人盗版,直到发行商自行移除Denuvo为止。而移除Denuvo的时机,往往是发行商认为销量下滑,不再需要DRM。许多游戏在发行一两年后都进行了更新,移除了Denuvo,这实际上承认了DRM已经过时。
盗版者越来越依赖虚拟机管理程序和离线激活技术。
这场战争中最新、技术上最引人入胜的战线已经深入硬件核心——Ring-1层,即虚拟机管理程序运行的层级。Denuvo和反作弊系统试图在内核层(Ring 0)控制操作系统,而现代破解者则使用虚拟化整个操作系统的技术。
在这种背景下,一位名为 Voices38 的破解者最近声名鹊起。他因能够破解《死亡空间:重制版》和《索尼克:前线》等对 Denuvo 加密要求极高的游戏而闻名,同时他还为 Linux 系统提供支持。他的方法,以及 MKDEV 和 0xZeOn 等团队的方法,通常是利用虚拟机管理程序来隐蔽地观察代码的执行过程。
该技术基于硬件辅助虚拟化(Intel VT-x 或 AMD-V)。与传统的调试器不同,攻击者使用 HyperDbg 等独立于操作系统 API 运行的工具。
由于调试器运行的层级低于游戏和DRM,Denuvo无法使用标准的反调试技巧检测到它。通过扩展页表(EPT),破解者可以拦截内存访问并实时修改代码,而不会触发安全机制。虚拟机管理程序可以“伪造”对CPUID命令或其他Denuvo用于生成硬件ID的硬件寄存器的响应。
然而,Voices38 和其他组织警告说,这种方法风险很高。使用虚拟机管理程序绕过方法意味着用户将整个硬件和操作系统暴露在底层代码之下,从而打开了通往潜在安全漏洞的大门,而这些漏洞是传统黑客所不了解的。
所谓的离线激活技术在像Anti-Denuvo Sanctuary这样的社区中也非常流行。该社区并没有致力于彻底移除Denuvo的保护机制,而是专注于离线激活,这使得玩家无需持续连接Steam等平台即可启动游戏。
他们的技术方案基于使用专门的模拟器和许可证生成器,这些工具在他们的 GitHub 代码库中公开提供。Steam 票券生成器是一个用 Rust 编写的工具,可以创建加密的应用程序令牌(EncryptedAppTicket)。该令牌可以向 Denuvo 证明游戏已在用户的硬件上正式激活。
Goldberg Fork 是 Steam API 模拟器的修改版,配合生成的令牌,可以让玩家无需启动 Steam 客户端即可进行游戏。Ubi-dbdata 是专门针对育碧 Denuvo 加密技术的模拟器,它模拟 dbdata.dll 文件,从而绕过育碧特定的安全检查。

锁具会一直存在,锁匠也会一直存在。
从 8 位计算机上的第一个漏洞到 Denuvo 的复杂干预,这条道路漫长而充满天才、毅力和复仇的故事。
他们之间的战争仍在继续,在互联网的隐秘角落里,远离公众视线,直到有一天,XYZ游戏在发售当天就被破解的消息再次传出。届时,盗版者会幸灾乐祸,而发行商则会气得挠头。如此循环往复,永无止境。

























