鸿蒙游戏加固-Cocos
工具下载
功能介绍
引擎保护
易盾Cocos加固保护方案,默认保护引擎so文件:libcocos.so文件,通过易盾独创的so加壳方案,兼容鸿蒙系统的前提下,极大的提高so文件的保护强度。
脚本保护
易盾Cocos加固保护提供对于Cocos引擎中的lua源码、luac、luajit、js、jsc等加密,对于关键代码和核心逻辑保护,对抗luadec、luajit-decomp等逆行分析工具
资源保护
提供对于Cocos引擎中所有资源类型的加密,比如,.png、skel、.plist、.jpg、.ttf、json等等格式的资源文件,防止私服扒取资源等场景,有需要可以在后台配置。
abc文件保护
易盾团结引擎保护支持对于HAP包中的abc文件保护,对于关键的类进行了混淆处理保护;
使用说明
该加固工具为jar包文件,适用于Windows、Linux以及Mac系统,以下均以Windows环境下描述,其他系统环境使用方法类似。下载地址点击下载。
使用方式
注意:加固项由易盾后台进行配置,请联系易盾技术支持人员。
命令行模式(注意,第一次使用需要配置config.ini文件)
java -jar NHPProtect.jar -yunconfig -harmony -hapsign input E:\yiduntest\test.hap
- 参数说明如下:
参数 | 说明 |
---|---|
-yunconfig | 必填项,表示自动从易盾后台获取加固参数,加固配置已经在后台部署,可以根据实际情况调整 。 |
-harmony | 必填项,标记鸿蒙平台 |
-input | 必填项,参数后面跟待加固文件的绝对路径,支持.hap或者.app |
-hapsign | 选填项,表示加固后对包进行签名,需要配置 config 内签名参数 |
-output | 默认加固后的文件输出在原文件同路径,-output参数可以指定加固后文件的输出路径和文件名,示例:java -jar NHPProtect.jar -yunconfig -harmony -hapsign -output E:\enc\test_enc.hap -input E:\yiduntest\test.hap |
config.ini文件配置说明
默认config.ini必须要跟NHPProtect.jar在同一目录下,如果需要指定config文件,可以执行-config 命令参数来处理:
java -jar NHPProtect.jar -yunconfig -harmony -hapsign -config E:\\Desktop\\test\\config.ini -input E:\\yiduntest\\test.hap
config的功能主要有以下三点:
设置appkey
用户需要将appkey填写在该配置文件中,格式如下所示。appkey请在官网登录账号后加固服务-服务管理获取。
[appkey]
key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
配置签名相关信息
注:鸿蒙目前不支持对于包的单独签名, 只支持加固-签名;签名请加上-hapsign参数。
java -jar NHPProtect.jar -yunconfig -harmony -hapsign -input E:\\yiduntest\\test.hap
config.ini中配置如下:
[hapsign]
keystoreFile=C:\\test\\haptest.p12
keystorePwd=xxxxx
keyAlias=xxxxx
keyPwd=xxxxxx
appCertFile=C:\\test\\haptest.cer
profileFile=C:\\test\\test.p7b
mode=localSign
signAlg=SHA256withECDSA
签名参数说明如下:
参数 | 说明 |
---|---|
keystoreFile | 密钥库文件,JKS或P12格式,使用绝对路径表示 |
keystorePwd | 密钥库口令 |
keyAlias | 签名别名 |
keyPwd | 密钥口令 |
appCertFile | 应用签名证书文件(证书链,顺序为实体证书-中间CA证书-根证书),使用绝对路径表示 |
profileFile | 签名后的Provision Profile文件名,使用绝对路径表示 |
mode | 签名模式,必填项,包括localSign,remoteSign,remoteResign |
signAlg | 签名算法,根据实际签名填写 |
cocos 资源加密(可选)
cocos引擎资源加密,需要在dun.163.com登录后, 安全加固 -加固设置内勾选资源加密参数,config 内增加以下配置指定资源文件类型后缀:
[cocosAsset]
a1=.png
a2=.jsc
a3=
引擎 so加固
请根据实际包内 cocos 引擎 so 的名字填写,示例:
[engineSo]
engineSo=libcocos.so
热更资源加密
java -jar NHPProtect.jar -SingleCocosEn -input E:\\yiduntest\\test.zip
安全和使用体验
建议对线上历史未加固包体的代码和资源进行修改后再加固,以防历史包体被用于分析业务逻辑。
更新和支持
Jar工具会定期进行新版本检测,客户端网络正常的情况下触发更新时会自动升级到最新版本。也可手动通过更新命令进行升级。示例:
Java -jar NHPProtect.jar -update
也可以通过config 内的增加如下配置来设置加固工具是否更新,以及更新检测频率。
[update]
u=1 // u=1 更新 u=0 不触发自动更新
t=1 //更新检测频率,单位 day,表示每 1天执行时候都会进行最新版本更新检测
加固脚本由易盾在服务器部署,为保证线上包体方案的稳定性,非功能优化和问题修复不会改变后台的加固版本。建议有大版本更新迭代时候可以考虑升级到易盾新版本,并根据版本排期提前测试。