“学习版”游戏从何而来?走进破解攻防的灰色地带
“学习版”游戏从何而来?走进破解攻防的灰色地带
《黑神话:悟空》的爆火不仅让游戏开发者备受关注,也让游戏破解这一灰色地带再次进入公众视野。从简单的序列号破解到复杂的D加密技术,游戏开发商与破解者之间的攻防战从未停歇。本文将带你深入了解游戏是如何被破解的,以及开发商采取了哪些反制措施。
逆向工程后的代码篡改是破解的关键
大多数破解游戏,在下载完成后都有一个单独的破解文件压缩包,这个压缩包的名称可能玩过学习版游戏的都耳熟能详,比如EMPRESS、CPY、CODE以及曾经国内的3DM等等,其实这都是破解组的名字。
我们只需要将这个文件解压,然后把文件夹内的文件全部复制到游戏文件夹覆盖原文件后,就能正常进入游戏了。
时至今日仍有大量破解组正在从事游戏破解工作
破解的过程其实从逻辑上来看也比较简单粗暴:破解人员通过分析游戏程序的执行流程,了解其内部逻辑和运作机制,接着通过逆向工程找到关键的代码段,进行修改以绕过正常的注册和验证流程,最后创建特定的补丁文件用于修改游戏的原执行文件,目的就是让注册表系统失效,绕过验证过程,直接运行游戏文件。
再往前的游戏其实更简单,那时候因为没有联网认证机制,软件设计也没有这么复杂,游戏在启动前需要输入正确的序列号方能进入,当然现在也有不少的软件依旧采用了这个方法,比如大家经常见到的考机软件AIDA64等等。
而这种加密方式的破解是比较简单的,可以通过监视游戏在不同输入下的响应,猜测可能的序列号结构,也可以修改游戏保存的特定文件,如链接游戏的.dll和.so文件,来绕过注册验证,或者分析并复制游戏内置的注册码生成算法,自制对应的注册机来生成注册码。
D加密,正版玩家也成“受害者”
所谓“道高一尺魔高一丈”,游戏加密方式也是在不断进步的,现代游戏最著名的加密方式就是让广大玩家又爱又恨的“D加密”,在Steam游戏商店看到有“第三方DRM:Denuvo”标签的游戏,就是有D加密的游戏。
这是一项由奥地利Denuvo公司推出的防篡改技术,它的运行方式比较聪明:先将游戏程序分成多个小块,并使用不同的加密方法加密每个小块,同时这些小块之间的关系也被加密了,而且为了防破解,它会在游戏运行时动态地改变代码结构,使破解者更难找到关键的代码片段进行破解。
看到“第三方DRM:Denuvo”就知道是D加密了
当正版玩家运行游戏时,D加密的程序会解密这些小块并将它们组合在一起,从而使游戏可以正常运行。
与此同时,D加密还会在游戏程序中添加一些检测代码用来检测游戏是否被破解,如果检测到游戏被修改或破解就会立即停止游戏运行,而且一些使用Denuvo的游戏需要联网验证后才能获得运行授权,相当于又上了一道“联网认证”的锁,但同时又比那些需要全程联网的单机游戏更亲民。
不过,正因为D加密会对游戏的可执行文件进行不断的加密解密操作的缘故,增加了CPU的工作量,对于采用老旧或低配处理器的玩家来说,可能会因为占用过多资源导致游戏性能下降。
有不少测试表明在游戏官方移除D加密后,一些游戏的帧数会有所提升,比如《生化危机8:村庄》在使用武器时,游戏帧率会出现剧烈波动,但当D加密被移除后这个问题得到了明显的改善,所以才有不少玩家认为自己玩个正版,反倒成了性能“受害者”。
而且从现实角度来说,D加密也并不是十全十美的,从破解组的角度来看只是难度相对较高而已,大多数D加密游戏只要破解组技术力过硬都能完成破解。
比如《生化危机8:村庄》在发售后不到2个月就被破解,《死亡搁浅》在发售后3个月也被破解,类似的例子还有《霍格沃兹之遗》《杀手3》《古墓丽影崛起》《正当防卫3》等等。
而且D加密对于游戏厂商来说是订阅制的,要么按销量抽成,要么按时长付费,因此大多数采用D加密的游戏在度过黄金销售时段后就会移除D加密,既保证了游戏最初期的销量,同时又能降低后续维护成本,一举两得。