Cocos资源加密方案解析

据数据显示,Cocos引擎全球游戏市场的占有率约为20%,在国内手游占有率约为40%,而在小游戏赛道,这一数据则高达64%。因其内置的H5引擎、免费开源、轻量化等优势,得到众多小游戏开发者青睐。

Cocos引擎的优势在2D画面渲染方面表现突出,更契合中小型游戏的需求。但Cocos引擎同样绕不开安全问题,由于其开源的特性,针对Cocos引擎的破解更为猖獗。

Cocos引擎的主要资源、代码文件位于包体中 assets/ 目录下。我们以 JavaScript 脚本为例,资源储存在 .JSC 文件中。由于文件无法直接打开进行编译,破解者会在引擎启动工程中找到 libcocos2djs.so 文件,这里储存着秘钥。

libcocos2djs.so文件储存着Cocos秘钥

破解者会尝试将 .SO 文件放入 IDA 等工具中进行反汇编,通过搜索 applicationDidFinishLaunching (入口函数)找到秘钥,再将秘钥进行编译即可得到资源、代码文件。

使用IDA工具查找Cocos引擎秘钥

此外,Cocos引擎中还有另一种脚本语言 Lua 。由于 Lua 虚拟机可以直接解释执行 Lua 源代码,会导致许多游戏开发者直接将 Lua 源代码打进 apk / ipa 中。

这种操作相当于直接泄漏了游戏源代码,极有可能被拿去做换皮二次开发,据Cocos官方统计,未加密的游戏资源在发布后30天内被盗用率高达68% 。

据观察,部分厂商会采用LuaJIT、自定义Lua等手段做加密,但这些操作在面对专业的反编译器及破解者的攻势下,还是难逃被破解的命运。

反编译器luadec

资源文件作为游戏的重要资产,储存着美术资源、代码、音视频等重要内容,一旦泄露会造成竞品抄袭、知识产权受损、游戏内容剧透、篡改游戏资源制售外挂等一系列严重问题。

如何有效对Cocos引擎做资源加密,提高破解门槛,成了游戏厂商的必修课。针对上述问题,FairGuard制定了一套针对Cocos引擎的加密保护方案:

◆ 资源加密

FairGuard加密方案进行了特殊构造,只对核心关键位置做加密处理,对游戏加载速度、运行流程程度的几乎没有影响,实现了无感知。

◆ 引擎模块加固

使用业界独创的无导入函数SO加壳对游戏引擎模块进行加固,保护游戏代码不被分析,防止破解者的进一步操作。

FairGuard加固后IDA导出表中无SO函数

◆ JS脚本加密

使用高强度算法对JS脚本进行加密,并防止通过HOOK破解脚本。

◆ C++代码加密

对C编译后的动态库进行加固,防止被反编译。

◆ lua脚本加密

采用深度加密的方式,确保 Lua 脚本无法被直接解密,支持ulua/tolua/slua/xlua等不同 Lua 的脚本加密,同时对 Lua 解析模块进行加固。

除了各类加密保护,FairGuard加固方案还提供行为检测手段及反修改器、反调试、反注入、反变速等功能,可与引擎加固联动,真正做到有效保护游戏安全。

相关推荐
星幻元宇VR14 小时前
走进公共安全教育展厅|了解安全防范知识
学习·安全·虚拟现实
2501_9444241214 小时前
Flutter for OpenHarmony游戏集合App实战之贪吃蛇食物生成
android·开发语言·flutter·游戏·harmonyos
2501_9401986916 小时前
从“数据孤岛”到“智慧医脑”:实战 MCP 协议安全接入 HIS 系统,构建医疗级 AI 辅助诊断合规中台
人工智能·安全·asp.net
上海云盾第一敬业销售16 小时前
高防CDN在网站安全性能提升中的架构解析
安全·ddos
不灭锦鲤17 小时前
每天看一种漏洞类型,oss存储桶
安全·web安全
周某人姓周18 小时前
sqlilabs靶场通关详解
数据库·mysql·安全·网络安全
lusananan18 小时前
Transformer为何一统天下?深度解析RNN、CNN的局限与注意力机制的崛起
人工智能·游戏
2501_9444241219 小时前
Flutter for OpenHarmony游戏集合App实战之俄罗斯方块七种形状
android·开发语言·flutter·游戏·harmonyos
程序员哈基耄20 小时前
浏览器文件格式转换工具:简单、安全、高效的文本与数据处理助手
python·安全·数据挖掘
安科瑞小许20 小时前
新能源并网中的“孤岛”与“逆流”:电力安全背后的防护技术解析
分布式·安全·能源·光伏·防逆流