Alan Hou的个人博客

安卓免费加固方案,助你每年省去几万块

国内互联网的兼管环境无需多说,懂的都懂。野蛮生长的时代显然早就过去,面向境内用户(特指服务器也在境内的情况)新增应用一般都建议谨慎考虑,除了常规的工信部和公安备案外,各类证件也是让人眼花缭乱,以爱奇艺为例:

这还不涉及具体行业,具体行业的可参考来自华为的部分类型应用注意事项,所以可以看出合规性成本还是非常高的,建议在做预算时充分考虑这些情况。魔都今年一次线下分享中官方人员提到.com 域名近年有明显的下降,猜测可能与合规要求有关。

此外有关合规性的成本还有等保、内容审核等等这里不做讨论,本文主要记录公安备案审核中安卓合规的问题。先交代一下背景,笔者所在公司已做过网安审核,但魔都存在一个骚操作,就是这套备案系统并未与全国的系统打通,导致系统升级后要重新提交资料进行审核。早期的网安备案包括工信部(或称ICP)备案并不区分网站和 APP,后来对 APP 以及小程序均要求单独备案。网站的备案相对顺利些,APP 中安卓有一项是要进行安装包的加固,包含的内容有:Dex VMP保护,壳加密算法保护,Dex文件防篡改保护,壳防动态调试保护,防内存DUMP保护,模拟器&ROOT检测保护,防日志泄露保护,防线程动态调试保护,防进程动态调试保护,防JDWP调试保护,防注入保护等。

有三方机构主动为我们做了一次合规性扫描,看到厚厚的检测报告后,安卓开发工程师沉默了。大厂们自然都提供加固服务,但一年几万的费用在这个“降本增效”的时代显然不是首选,开源的方案都老掉牙了,也不宜选择。

最终经过筛选,初步确定了加固方案,即OPPO 开放平台免费的的移动应用加固服务。首先是上传安装包:



默认内置了基础服务和高级服务两种,但还可以点击新增自定义服务进行更精细化的控制,在下图中 SO库名称处可选择相应的 SO 库,VMP配置处则可以进行包、类和方法级别的指定。

简单点就直接使用基础服务,若采用高级服务则建议进行 SO 库和包、类或方法的指定,官方也说了会影响加固后兼容性和性能,Alan在实测时也发现无脑选择高级服务会导致应用直接闪退。

加固完成后下载的安装包无法直接使用,原因在下载的弹窗里已有表述:

在加固过程中会删除应用的签名信息,故在下载安全加固包后,您需要对其重新签名,然后将重新签名过的加固包发布到对应的发布市场。

以下是 Git Bash 命令行为例,首先应安装好 Android Studio 和 Java。

验证是否签名的命令为(其中35.0.0为 Android Studio 所安装的工具版本,请自行查看本机的版本号,另~表示用户目录,如/c/Users/admin):

未签名返回:

签名和在 Android Studio 中一样需要准备签名文件xxx.jks,自取别名xxx,以及两者对应的密码,--out后紧接的是输出文件名称,最后面的是所导出的加固安装包:

至此即可将安装包上传至各应用市场了,当然在上传之前建议先测试下安装包。

 

 

退出移动版