银川住房和城乡建设部网站,免费域名解析网站,做旅游攻略的网站,天津网站优化哪家好「ab包」全称为 AssetBundle #xff0c;是Unity提供的一种资源存储压缩包。其中储存了游戏的资源#xff0c;如图片、模型、纹理、音视频、代码等文件。
由于ab包具有灵活储存、支持热更、包体较小且便于管理等优势#xff0c;已经成为了市面上主流的游戏资源压缩方式。
…「ab包」全称为 AssetBundle 是Unity提供的一种资源存储压缩包。其中储存了游戏的资源如图片、模型、纹理、音视频、代码等文件。
由于ab包具有灵活储存、支持热更、包体较小且便于管理等优势已经成为了市面上主流的游戏资源压缩方式。
ab包中图片、模型、视频等文件是游戏的重要资源如果被破解者或竞争对手解开获取里面的内容将会引发严重的竞品抄袭、知识产权受损问题。 《光环4》发生过美术素材被抄袭事件(上《光环4》;下《群星》)
此外ab包被破解也会对游戏运营产生严重影响。如一些内容驱动的游戏ab包内会储存一些未上线的活动资源如果被提前解开剧透将会降低玩家的惊喜感与活动体验对游戏的运营节奏产生负面影响。
在一些射击竞技类游戏中游戏的资源材质被破解、篡改还会产生意想不到的外挂效果会严重破坏游戏的公平性导致玩家流失厂商收益受损。 某FPS游戏资源素材被破解出现了透视外挂
接下来我们将重点分析该如何对ab包进行加密。
市面上有不少针对ab包加密的方法网上也能找到相关的加密文章如雨松mono提供的方案对整个资源做加密。
虽然满足了资源加密的需求但这种方法的缺点非常明显ab包占到游戏很大体积的比例如果全部进行加密对游戏的性能影响严重。
如何对游戏ab资源进行加密的同时保证解密的消耗小降低游戏性能负担成了许多游戏的痛点。
对此FairGuard研发团队花费大量时间对unity引擎做黑盒分析理清了Assetbundle的加载机理以及其文件结构精心构造了一套加密方案
首先通过对Assetbundle文件进行结构解析找到资源文件的核心文件块对核心文件块进行加密。在游戏运行时对unity引擎Assetbundle加载时机进行埋点在埋点处对核心文件块进行解密。
这样构造方案既可以满足加密保护的同时还具备运行消耗小的特点解决了游戏资源加密的行业痛点还有以下几个优点
▶ 速度快无感知
加密方案只对核心关键位置做加密处理对游戏加载速度、运行流程程度的几乎没有影响实现了无感知。
▶ 加密强度高
加解密算法进行了自定义混淆让破解者无法分析出算法算法流程图如下所示 FairGuard算法流程图
▶ 兼容性高
通过 Android SO 加壳或 iOS 静态 hook 导入的纯 native 方案兼容所有 32 位和 64 位指令集。
▶ 解密速度非常快
核心文件块很小不随整个资源文件大小而变化。使用主流手机测试300个资源文件一次性解密额外增加的解密时间不到10ms。
对加密算法进行了高强度自定义混淆混淆经过精心设计在增加复杂度的同时兼顾了效率运行开销很小。
▶ 支持 Android / iOS / PC 三平台
▶ 操作便捷接入成本低
使用非常简单只要运行一个命令行即可完成对整个游戏资源的加密。 FairGuard Unity资源加密示意图
这个命令行对游戏资源加密的同时也会对游戏内的脚本做 mono dll 加密或者il2cpp加密。
同时可根据配置选项增加防破解、反修改器、反变速、反调试、反虚拟机、反云手机等多项功能对游戏进一步加固防护可有效解决游戏面临的各项安全问题。目前该方案已接入多款热门游戏并验证了出色的保护能力。