二次打包会篡改签名,通过签名前后的变化可以检测是否被二次打包。
二次打包主要用到3个工具:apktool
、dex2jar
、jd-gui
。
apktool
:反编译利器;dex2jar
:将dex
文件反编译成jar
文件(java代码)工具,用于解读代码;jd-gui
:打开jar
文件工具;
三、解决措施
3.1 混淆
可通过在IDE配置混淆规则。
uni-app
实现的话,支持js/nvue
文件原生混淆加密,考虑到加解密的性能损耗,所以应选取项目中比较重要的js/nvue
文件。
注⚠️:uni-app
的js
运行在独立的jscore
中,而不是webview
中,所以不受iOS
平台WKWebview
不支持原生混淆的限制。 uni-app
的vue
页面中的js
,是整体编译到一个大js
文件中的,它经过编译,已经不再是vue
源码,但还不是乱码。对这个统一的大文件进行混淆会有影响性能。 所以uni-app
只支持独立混淆nvue/j