Android Dex加固,如果想要安全,不能简单的压缩加固,同时要评估性能与安全的平衡点。不能加固后影响应用的运行效率。从安全上角度考虑,需要对对dex函数进行保护、整体dex的加固、安卓so库的保护等,同时需要做签名校验、文件校验,要有反调试及反注入的功能,也可以对模拟器、Root检测、多开有一定的限制。
国内很多厂商都有安卓apk加固工具,比如深盾的VirboxProtector,安卓apk在发布市场之前一定要做安全加固,这也是VirboxProtector提供的服务。VirboxProtector 提供离线加密工具和命令行加密工具。无需上传apk,本地加固,不限制APK加固工具。
申请试用dex加固工具-VirboxProtector:
1.注册VBP账号:
注册地址:https://shell.virbox.com/apply.html
2、下载试用版安装
Windows版下载:https://download.virbox.com/vps/virboxprotector_trial_windows.exe
3.导入文件
将 APK 导入至 Virbox Protector 2 Trial 中。
可通过以下两种方式将待加密的文件添加到 Virbox Protector。
1)直接拖入到 Virbox Protector
2)点击工具栏的【打开文件】,选择要加密的文件。
4、设置函数选项
Virbox Protector 可对 DEX 函数进行虚拟化保护。DEX虚拟化技术:对 DEX 中的 Dalvik 字节码进行虚拟化,转换为自定义的虚拟机指令,然后由 Native 层虚拟机解释执行。
5、加密选项设置
输出信息#
可设置保护后生成的文件命名及存储位置。
设置选项
DEX 加密是对 DEX 文件整体压缩加密(若在Google Play上架,不建议勾选dex加密,建议选择虚拟化方式保护dex文件里的函数)
勾选反调试按钮,则使用IDA等调试工具调试时,程序会直接退出。
勾选签名校验按钮,且进行签名设置,输入自己的 keystore 文件和密码(密钥别名和密钥密码选填)
勾选文件校验:检查APK内所有文件的完整性。
勾选反注入,可以防止其它进程对 apk 或 aab 进程附加调试或注入。
勾选模拟器检测,可以防止程序在“夜神”、“雷电”、"AVD"等模拟器中运行。
勾选 root 检测,可以防止程序在 root 过后的手机上运行。
勾选多开检测,可以防止程序多开分身。
签名设置
启用签名:勾选启用签名,需要设置keystore路径和keystore密码,设置密钥别名和密钥密码,加密后会自动签名。
如果不勾选启用签名,加密后的 apk/aab 需要手动重新做签名。
设置完成后,点击【保护选中项目】,安装保护生成后的apk即可运行。
点击【保护选中项目】后,在 protected文件夹中的是加密后的apk文件。