Unity ab包如何加密

**「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加密。

同时可根据配置选项,增加防破解反修改器反变速反调试反虚拟机反云手机等多项功能,对游戏进一步加固防护,可有效解决游戏面临的各项安全问题。目前,该方案已接入多款热门游戏并验证了出色的保护能力。

相关推荐
霸王•吕布2 小时前
游戏引擎中顶点着色&像素着色
游戏引擎·顶点着色器·像素着色器·顶点颜色·顶点uv·顶点法向
Thomas_YXQ5 小时前
Unity URP法线贴图实现教程
开发语言·unity·性能优化·游戏引擎·unity3d·贴图·单一职责原则
徐子竣12 小时前
[学习记录]Unity-Shader-几何着色器
unity·游戏引擎·着色器
EQ-雪梨蛋花汤18 小时前
【Part 3 Unity VR眼镜端播放器开发与优化】第四节|高分辨率VR全景视频播放性能优化
unity·音视频·vr
与火星的孩子对话1 天前
Unity进阶课程【六】Android、ios、Pad 终端设备打包局域网IP调试、USB调试、性能检测、控制台打印日志等、C#
android·unity·ios·c#·ip
幻世界1 天前
【Unity智能模型系列】Unity + MediaPipe + Sentis + ArcFace模型:构建高效人脸识别比对系统
unity·游戏引擎
漫游者Nova1 天前
虚幻引擎Unreal Engine5恐怖游戏设计制作教程,从入门到精通从零开始完整项目开发实战详细讲解中英字幕
ue5·游戏引擎·虚幻·游戏开发完整教程·恐怖游戏开发
死也不注释2 天前
【Unity 编辑器工具开发:GUILayout 与 EditorGUILayout 对比分析】
unity·编辑器·游戏引擎
小赖同学啊2 天前
物联网中的Unity/Unreal引擎集成:数字孪生与可视化控制
物联网·unity·游戏引擎
Zlzxzw2 天前
使用unity创建项目,进行动画制作
unity·游戏引擎