一、概述
uniApp正式打包后,资源一般都是明文存放在安装包中。直接将安装包解压出来就可以看到里面的代码,甚至连注释都没删。
为防止解压后泄露敏感信息,需要进行安全处理。
二、操作方法
直接在manifest.json配置文件中的app-plus -> confusion -> resources
节点添加需要进行加密混淆的文件。
配置示例
"app-plus": {
"confusion": {
"description": "原生混淆",
"resources": {
"common/test.js" : {}
}
},
// ...
}
配置完之后在打包的时候要勾选对配置的js/nvue文件进行原生混淆
。
按照上述操作配置之后,打包出来的安装包就已经是进行了加密混淆的了。
三、注意事项
- 只有正式打包才会对配置的文件进行混淆加密。
- uni-app中vue页面的webview组件支持加载使用加密混淆hybrid、static目录中的js文件。但是webview中的js加密混淆IOS有兼容问题,仅支持
IOS11+
,并且在引用的时候需要添加协议头"plus-confusion://
,如:
<!-- plus-confusion://后面为js文件路径,相对于当前html页面的路径 -->
<script type="text/javascript" src="plus-confusion://../js/common.js"></script>
- 运行期对资源代码解密是影响执行性能的。不建议全包混淆,仅挑选需要保护的个别文件处理即可。
- nvue页面的webview组件引用的js不支持原生混淆。