大部分的apk加固工具会对apk里的so文件进行压缩加密,这种加密的安全性不是很高,如果想提升安全性,需要对so进行函数的虚拟化、混淆等保护,虚拟化保护后的so文件可以达到很高的安全性。
能对Android so文件进行函数自定义虚拟化和混淆保护的,可以尝试使用深盾科技开发的VirboxProtector加壳工具,支持命令行操作及界面工具操作。
代码虚拟化
将原始汇编指令翻译为自定义的虚拟机指令,跳转到自定义的虚拟机中执行,每次保护生成的虚拟机指令随机,且对虚拟机解释器再度混淆,安全性极高。
代码混淆
对原始汇编指令通过等价变量、指令拆分、间接调用、虚拟分支、立即数加密等手段,转换为更复杂的汇编指令,再配合单步寄存器检测、指令校验等方式检测并设置调试陷阱,阻碍逆向分析
保护效果
加密前
加密后