前段时间,全球游戏开发者大会(Game Developers Conference,简称GDC)在旧金山圆满落幕,会议提供了多份值得参考的数据报告。根据 GDC 调研数据,当下游戏市场中,Unreal Engine (下文简称虚幻)和 Unity 是使用最多的游戏引擎,各有 33% 的开发者表示这两者是他们首选的工具集。
数据来源丨全球游戏开发者大会
与 Unity 相比,虚幻引擎的优势在于强大的画面表现与视觉特效,契合当下游戏市场追求高品质、精品化游戏的需求。但同 Unity 一样,虚幻引擎也面临严重的安全问题。
虚幻引擎的主要代码逻辑位于项目中 EXE 以及资源文件中,可以使用资源提取工具 UnrealPakViewer 对游戏的 pak 包进行分析,使用工具打开包体即可提取其中的代码、图片、视频等各类资源,大幅度降低了外挂、破解的门槛。
UnrealPakViewer分析包体后可查看各类资源及代码
这些资源是游戏的重要资产,一旦泄露会造成竞品抄袭、知识产权受损、游戏内容剧透、篡改游戏资源制售外挂等问题,如何有效对虚幻引擎资源进行加密,提高破解门槛,保护游戏资源,成了游戏厂商的必修课。
要对引擎进行加固,要解决两大难题,首先是兼容性问题,虚幻4、虚幻5有众多小版本,这些版本在性能、技术与体验方面都存在差异,加密方案能否完美兼容?
其次是如何兼顾加密强度与性能消耗问题,如果单纯为了加密而影响了游戏性能,导致游戏流畅程度出现问题,是游戏厂商与玩家都不能接受的。
针对上述问题,FairGuard制定了一套针对虚幻引擎的资源加密保护方案。该方案完美兼容 UE4 / UE5 各个版本;并且精心构造了一套算法,有效的解决了加密强度与性能消耗平衡问题,在保证高加密强度的同时,具备性能消耗小的特点。
除此之外,该方案还具备以下特点:
▎速度快,无感知
加密方案只对核心关键位置做加密处理,对游戏加载速度、运行流程程度的几乎没有影响,实现了无感知。
▎加密强度高
加解密算法进行了自定义混淆,让破解者无法分析出算法,算法流程图如下所示:
FairGuard算法流程图
▎解密速度快
核心文件块很小,不随整个资源文件大小而变化。使用主流手机测试,300个资源文件一次性解密,额外增加的解密时间不到10ms。
对加密算法进行了高强度自定义混淆,混淆经过精心设计,在增加复杂度的同时,兼顾了效率,运行开销很小。
▎防解包、反调试
FairGuard加固方案可以有效防止解包、调试,加固后包体无法进行提取、分析等恶意操作,不给破解者提供线索。
加密后包体无法被提取资源
▎三端互通,支持热更
FairGuard 虚幻引擎资源加密方案支持 Android / iOS / PC 三平台,支持资源在线热更。
▎操作便捷,接入成本低
使用非常简单,只要运行一个命令行即可完成对整个游戏资源的加密。