文章目录
前段时间公司要给 Android 应用进行加固,由笔者来选一家加固产品,发现,加固产品何其之多,且鱼龙混杂。
各种问题也是层出不穷,比如,有些加固时间非常久、有些加固会失败、有些运行会崩溃等等问题。
目前笔者已经给老板交了差,想把之前分析的数据整理出来分享给大家,笔者从主观数据与客观数据两部分对第三方加固做了对比。不想看过程的直接看总结吧。
其中,主观数据主要表现在对操作便捷方面的感受,客观数据就是体现在我们较为关心的各项指标(安全性没法评估,本文跳过了,请各路大神见谅)。
公司产品由于安全隐私问题不方便展示,我从网上随便找来三个应用(如果有冒犯到贵公司的应用,请通知本人删掉),这里将三个应用分别命名为:
test1.apk
test2.apk
test3.apk
主观数据
操作体验
- 梆梆安全
加固时需要选择应用类型,可能是梆梆要对 App 做数据统计,在选择好应用类型后,直接点击“提交应用”,即可对应用做加固。
个人感觉操作上相对便捷,对于我这种小白用户来说较为友好。
在提交加固后,加固进度条一直处于四分之一状态,不会随着加固进度而改变,这使得用户无法较好地得知当前的加固进度,希望后续能够改进。
- 爱加密
爱加密在上传 APK后需要填写多种配置项,其中包括“应用类型”、“防二次打包”、“infoBeat 数据服务”、“多渠道打包”等,同时还需要同意相关条款才能够进行加固。
对于入门级的我来说,很多选项并不明白其用处,只是盲目地做了勾选,然后选择“提交加密”。
加固过程没有进度条显示,无法得知当前加固进度,且加固时间较长,基本要20分钟以上。
- 360 加固保
提供多种不同的保护方式让用户选择,默认情况下都会全选。选择后点击确定,即可实现应用加固,整个流程相对简单,且可选择性较大。
- 几维安全
上传应用后,需要点击“加固”对话框才能进入加固页面,一开始以为上传就能够自动做加固,等了好久之后发现还没开始,这个设计有点反人性。
几维的加固默认状态下没有勾选 “Dex 函数加密”,如果不注意,直接点击“开始加固”将不会对 Dex 文件做加密。
个人感觉有诱导不加固的嫌疑,付费可以享受更多功能,但操作都在同一页面。
上传应用并点击“确定”即可直接对APK做加固,操作简单快捷。小白也可以方便使用,不需要额外的学习成本。
- Testin 云加固
上传应用并点击“下一步”即可直接对 APK 做加固,操作简单快捷。小白也可以方便使用,不需要额外的学习成本。
另外,还支持邮件通知与微信通知,相当人性化的体验。
- 腾讯云应用加固
从进入页面到开始加固的整个过程比较繁琐,需要连续点击多个页面才能真正进入到加固页面。
与其他加固厂商相比,乐固免费版APK 保护的功能较多。
同时,也是这么多家唯一有加固进度显示的厂商,这一点的体验方面比较好。
横向对比
1.界面体验
从各个加固厂商的网页界面来看,顶象以及几维两家企业网站的界面的体验相对友好,可能是因为新兴企业的原因,使用注重界面体验的UI设计,从使用体验上来讲,能够给人更为直观的感受;
2.操作便捷程度
从操作便捷性来看,梆梆跟爱加密都需要用户对上传的应用做分类,并且同意相关协议才能做加固。
几维安全则在默认情况下是不勾选Dex加固,用户很容易没有留意到而导致应用加固强度不够。在上传应用后,需要点击“加固”对话框,才能进入加固页面。
顶象加固与 Testin云加固的加固流程简单快捷,直接上传APK即可实现加固,对于新手用户也可以快速应用,学习成本低。
360加固保则提供多种不同的保护选项让用户选择,默认情况下都会全选,在选择后点击确定,即可实现应用加固。选择性大,造就操作步骤的繁琐。
乐固可能由于是免费版的因此从进入页面到开始加固整个流程相对繁琐,但从功能上来说具备更多的加固功能项,并且能告知用户等待时间。
客观数据
1、加固时长
2、加固体积
其中,test2.apk 与 test3.apk 在使用爱加密加固的时候均失败。部分加固后的体积比原包还要小。
3、首次启动时间
4、二次启动时间
5、内存
6、兼容性
Testin 作为一家云测厂商,启动黑屏,有点难以接受。
从这张表中可以看到,顶象的兼容性是最好的。
总结
据上数据,横向对比做下排序,以便大家更直观清晰的了解,排序规则为从左至右依次递减,左侧最优。
1、加固时长:
顶象 > 360 > 腾讯 > 几维 > Testin > 梆梆 = 爱加密
2、加固体积:
test1:梆梆>顶象> 原包 > Testin > 腾讯 > 几维 > 爱加密 > 360
test2:腾讯 > 360 > 原包 > 几维 > 顶象 > 梆梆 > Testin(爱加密加固失败)
test3:原包 > 腾讯 > 几维 > 顶象 > 360 > 梆梆 > Testin(爱加密加固失败)
3、首次启动:
test1:原包 > 爱加密 > 顶象 > 梆梆 > 腾讯 > Testin(几维 与 360 崩溃)
test2:原包 > 几维 > 360 > 腾讯 > 顶象 > Testin(梆梆 崩溃,爱加密 加固失败)
test3:几维 > 原包 > 顶象 > 360 > 腾讯(梆梆 崩溃/爱加密 加固失败/Testin 黑屏)
4、二次启动:
Test1:原包 > 顶象 > 梆梆 > 爱加密 > 腾讯 > Testin(几维 与 360 崩溃)
Test2:原包 > 几维 > 顶象 > 360 > 腾讯 > Testin(梆梆 崩溃,爱加密 加固失败)
Test3:原包 > 几维 > 顶象 > 腾讯 > 360(梆梆 崩溃/爱加密 加固失败/Testin 黑屏)
5、内存:
test1:原包 > 顶象 >爱加密 >梆梆 >腾讯 >Testin(几维 与 360 崩溃)
test2:原包 > 顶象 > 几维 > 腾讯 > 360 > Testin(梆梆 崩溃,爱加密 加固失败)
test3:原包 > 几维 > 顶象 > 腾讯 > 360(梆梆 崩溃/爱加密 加固失败/Testin 黑屏)
6、兼容性
test1:梆梆、爱加密、顶象、Testin、腾讯等五家均正常启动(几维与 360 崩溃)
test2:360、几维、顶象、Testin、腾讯等四家均正常启动(梆梆崩溃,爱加密加固失败)
test3:360、几维、顶象、腾讯 等三家均正常启动(梆梆崩溃/爱加密加固失败/Testin 黑屏)
最后
客观数据每组都是测试了至少10组,然后去除最高及最低值,再计算平均值,已经尽可能去除干扰。
主观数据仅是个人的一些感受,客观数据也只是将所测数据展示给大家。以上数据仅供大家参考,测试过程中可能有一些误差,请大家见谅,毕竟 Android 手机测试的数据本身就有波动。
从测试数据来看,加固体验、启动性能、兼容性,再综合时间成本考虑,顶象加固的表现是最好的。
至于安全性虽然本文没评估,但是安卓的反编译工具Dex2Jar是顶象的一位大佬很多年前写的,顶象加固至今没被**过。
以上供大家参考。