从电子游戏行业繁荣开始,盗版与反盗版、加密和破解之间的斗争,几乎从来就就没有停止过。相信很多80、90后的朋友对于小时候电脑城里各种五合一,乃至十合一的盗版游戏碟片应该非常熟悉,这甚至获悉是很多人游戏生涯的起点,而再往后,就是3DM、游民星空、游侠网等破解资源网站大放异彩的年代。
可以说盗版游戏在丰富了当时国内玩家的休闲娱乐生活同时,也几乎毁灭了国产单机游戏的前路。而为了与盗版产业对抗,光盘加密、全程联网,以及Denuvo(D加密)等方式也先后登场,其中特别是Denuvo的出现,在过去数年间通过不断升级加密算法,使破解所需的时间不断被拉长,也在相当长的一段时间里保护了游戏厂商的利益。Denuvo也就是Denuvo Anti-Tamper,是一项在2014年被提出的可执行文件进行调试(Debugging)、反编译(Reverse Engineering),和修改(Modifying)的技术,用来保护DRM(数字版权管理系统)不会被绕过。而在其出现之前,游戏破解所采用的通常是直接修改其exe或dll文件,用于绕过游戏对DRM的验证,然后模拟正版。但有了Denuvo之后,就能保护游戏的二进制文件不被修改,从而避免其本身被逆向。同时由于它是对游戏的二进制文件进行操作,而不是为游戏厂商提供SDK等方式集成进游戏中,因此也不会影响厂商开发和调试游戏。但就像世界上从来没有永不陷落的城池一样,随着破解技术的不断提升,Denuvo能够保护游戏不被破解的时间也越来越短。此前使用了Denuvo的新游戏《德军总部:新血脉》,在海外知名破解小组Codex手中,仅仅坚持了21天就宣告“阵亡”。不过Denuvo加密又双叒叕一次被破解,并没有阻拦其母公司Irdeto发布新技术的脚步。在最近如火如荼的德国科隆游戏展上,Irdeto就推出了Denuvo Mobile Game Protection(DMGP,移动游戏防护解决方案),用于在Android平台上防止黑客调试、反编译,乃至修改游戏。
从Irdeto方面公布的信息显示,DMGP主要功能包括可配置的保护级别、反调试、ROOT检测、反HOOK、虚拟化、完整性验证、反静态/动态编码操作等等。并且其中“可配置的保护级别”所指的是,开发者可以根据不同需求选择牺牲性能的程度,来换取全局防护。相对于封闭式系统的iOS,更加开放的Android所带来的,就是该平台上手游极高的被破解率。针对DRM,Android也提供了一个可扩展的DRM框架,以便应用根据与受版权保护内容关联的许可限制条件来管理,而手机中的DRM权限表是存放DRM加密文件权限的地方,不过由于Android的开放性,导致可以使用诸如xposed框架等方式,让破解DRM加密的难度大大降低。根据我们三易生活了解到的情况,目前市面上系统化经营Android破解游戏的APP,就有包括葫芦侠、爱吾游戏、骑士助手、纽扣助手等等。比如在2017年TAPTAP的运营方心动网络就曾发布通告,起诉国内网站破解其发行的《ICEY》手机版,总计索赔700万余元。而到了今天,曾经被起诉的葫芦侠们依然活着,而这也更是直接导致了与iOS端相比,Android端付费手游数量的稀少。那么,Android游戏到底如何被破解的呢?其实很简单,Android APP是使用Java语言开发,AOT+JIT+解释执行共存并存的编译模式。不管是使用即时编译还是预编译,开发者都可以使用Android反编译工具Jadx/IDA/apktool来进行逆向工程。以apktool为例,Java作为跨平台语言,其源代码一般被编译成中间“字节码”存储于class文件中,而带有大量语义信息的字节码很容易被反编译成Java源代码。之后java代码与生成的smali代码进行对照,找出相关的程序逻辑,使用apktool回编译,最后对回编译的apk使用jarsigner进行重新签名即可。因此Denuvo对于Android来说,确实有着一定的意义。尽管本身的技术原理还是个谜,但从这些年来各大破解小组的破解过程还是可以一窥端倪,其或是由在游戏启动时出现的授权认证模块,与游戏运行中随机的篡改检测触发器所组成。并且由于其会要求合作方将游戏在上市前就进行设置,由技术人员通过试玩设置具体的触发器,这就相当于让每一款游戏都能够因地制宜的采用不同自动化部署策略。
当然,从DMGP的介绍中来看,其并不是只想针对盗版破解游戏,真正的卖点是在反外挂方面。正是因为Android游戏很容易被破解,因此使得其基本上以F2P网游为主,而网游最怕的,就是外挂导致整个游戏平衡性被破坏。以目前《和平精英》等FPS类手游上非常猖獗的定制化插件类外挂为例,DMGP可以使用anti-hooking来检测游戏是否运行在Magisk、SuperSU,或者Xposed框架中。同时,由于DMGP的“smart detection of protection point(触发器智能检测)”可以在游戏内部的关键节点放置触发器,一旦外挂使用Ptrace注入或者Zygote注入执行HOOK操作,就不可避免的触碰到预设的触发器上。或许更多玩家关注的是,Denuvo会不会影响性能?因为此前在PC端上,海外游戏媒体DSOGaming及Overlord Gaming等都曾表明,Denuvo会占用系统资源,影响读取速度和帧生成时间(Frame Time)。但考虑到与PC端相比,移动端SoC在性能上存在着明显的差距,如果使用了DMGP的手游由于资源占用更高导致游戏变卡、发热以及耗电增加,这对于游戏体验来说无疑是很糟糕的事情。或许这就是DMGP想要在移动端复制其在PC端成功的最大阻碍,毕竟相较于普遍依赖卖拷贝的PC游戏来说,移动端上的免费+内购模式已经成为绝对的主流,而且手游中FPS这种外挂会极端破坏体验的类型又是少数,MOBA、卡牌、RPG类游戏的外挂由于能力有限,基本上很难影响到他人体验。因此换句话来说,如果Denuvo的DMGP想要在手游开发者中取得PC端一样的成绩,就需要找好资源占用与防护能力之间的平衡点了。
【本文图片来自网络】
大量使用价格优势之后,拼多多能否在2020年实现盈利。
手机辐射问题这一老生常谈,过于担忧可能还没有一盆仙人掌来的有效。