前段时间公司要给 Android 应用进行加固,由笔者来选一家加固产品。然后发现,加固产品何其之多,且鱼龙混杂。各种问题也是层出不穷,比如,有些加固时间非常久、有些加固会失败、有些运行会崩溃等等问题。目前笔者已经给老板交了差,想把之前分析的数据整理出来分享给大家。

笔者从主观数据与客户数据两部分对第三方加固做了对比。其中,主观数据主要表现在对操作便捷方面的感受,客户数据就是体现在我们较为关心的各项指标(安全性没法评估,本文跳过了,请各路大神见谅)。

公司产品由于安全隐私问题不方便展示,我从网上随便找来三个应用(如果有冒犯到贵公司的应用,请通知本人删掉),这里将三个应用分别命名为:test1.apk、test2.apk、test3.apk。

01

主观数据

操作体验

• 梆梆安全

加固时需要选择应用类型,可能是梆梆要对 App 做数据统计,在选择好应用类型后,直接点击“提交应用”,即可对应用做加固。个人感觉操作上相对便捷,对于我这种小白用户来说较为友好。

在提交加固后,加固进度条一直处于四分之一状态,不会随着加固进度而改变,这使得用户无法较好地得知当前的加固进度,希望后续能够改进。

• 爱加密

爱加密在上传 APK后需要填写多种配置项,其中包括“应用类型”、“防二次打包”、“infoBeat 数据服务”、“多渠道打包”等,同时还需要同意相关条款才能够进行加固。对于入门级的我来说,很多选项并不明白其用处,只是盲目地做了勾选,然后选择“提交加密”。

加固过程没有进度条显示,无法得知当前加固进度,且加固时间较长,基本要20分钟以上。

• 360 加固保

提供多种不同的保护方式让用户选择,默认情况下都会全选。选择后点击确定,即可实现应用加固,整个流程相对简单,且可选择性较大。

• 几维安全

上传应用后,需要点击“加固”对话框才能进入加固页面,一开始以为上传就能够自动做加固,等了好久之后发现还没开始,这个设计有点反人性。

几维的加固默认状态下没有勾选 “Dex 函数加密”,如果不注意,直接点击“开始加固”将不会对 Dex 文件做加密。个人感觉有诱导不加固的嫌疑,付费可以享受更多功能,但操作都在同一页面。

• 顶象加固

上传应用并点击“确定”即可直接对APK做加固,操作简单快捷。小白也可以方便使用,不需要额外的学习成本。

• Testin 云加固

上传应用并点击“下一步”即可直接对 APK 做加固,操作简单快捷。小白也可以方便使用,不需要额外的学习成本。

另外,还支持邮件通知与微信通知,相当人性化的体验。

• 腾讯云应用加固

从进入页面到开始加固的整个过程比较繁琐,需要连续点击多个页面才能真正进入到加固页面。

与其他加固厂商相比,乐固免费版APK 保护的功能较多。同时,也是这么多家唯一有加固进度显示的厂商,这一点的体验方面比较好。

横向对比

1、界面体验:

从各个加固厂商的网页界面来看,顶象以及几维两家企业网站的界面的体验相对友好,可能是因为新兴企业的原因,使用注重界面体验的UI设计,从使用体验上来讲,能够给人更为直观的感受;

2、操作便捷程度:

从操作便捷性来看,梆梆跟爱加密都需要用户对上传的应用做分类,并且同意相关协议才能做加固。

几维安全则在默认情况下是不勾选Dex加固,用户很容易没有留意到而导致应用加固强度不够。在上传应用后,需要点击“加固”对话框,才能进入加固页面。

顶象加固与 Testin云加固的加固流程简单快捷,直接上传APK即可实现加固,对于新手用户也可以快速应用,学习成本低。

360加固保则提供多种不同的保护选项让用户选择,默认情况下都会全选,在选择后点击确定,即可实现应用加固。选择性大,造就操作步骤的繁琐。

乐固可能由于是免费版的因此从进入页面到开始加固整个流程相对繁琐,但从功能上来说具备更多的加固功能项,并且能告知用户等待时间。

02

客观数据

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 手机测试的数据本身就有波动。

PS:如有想要测试APK的可在“X安全”微信号里回复“APK”关键字获取。

甲方安全之安卓App第三方加固对比的更多相关文章

  1. Android 第三方加固方案 对比 MD

    常见的第三方加固方案官网介绍 由于安卓APP是基于Java的,所以极容易被破解,一个不经过加固的APP犹如裸奔一样,毫无防备.之前曾有新闻报道,一些专职的APP打包黑产就是专门从各种渠道找到apk,通 ...

  2. 微信小程序、安卓APP、苹果APP对比分析

    今天的话题主要是关于微信小程序.安卓APP.苹果APP对比分析.既然是对比分析肯定是将它们一个一个说明. 本篇不涉及技术话题,只讲解微信小程序.安卓APP.苹果APP它们各自的优缺点及其应用场景. 一 ...

  3. 当前安卓App加固到底该如何做到防篡改?

    安卓dalvik虚拟机要求dex文件在内存中以明文形式存在,那么任何加壳方法到头来到了内存还是明文存在,各种dump方法终究是可以获得它的.App究竟应该如何加固才能防止被篡改?   加固和 dump ...

  4. 【转载】安卓APP架构

    注:本篇博文转载于 http://my.oschina.net/mengshuai/blog/541314?fromerr=z8tDxWUH 本文介绍了文章作者从事了几年android应用的开发,经历 ...

  5. 安卓---app自动更新

    主要参考:http://blog.csdn.net/jdsjlzx/article/details/46356013/ 效果如下: 大致思路:[原文] 首先,我们要有一个可以被手机访问的后台. 这里有 ...

  6. 一文了解安卓APP逆向分析与保护机制

    "知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道."知物 ...

  7. 小程序第三方框架对比 ( wepy / mpvue / taro )(转)

    文章转自  https://www.cnblogs.com/Smiled/p/9806781.html 众所周知如今市面上端的形态多种多样,手机Web.ReactNative.微信小程序, 支付宝小程 ...

  8. 小程序第三方框架对比 ( wepy / mpvue / taro )

      众所周知如今市面上端的形态多种多样,手机Web.ReactNative.微信小程序, 支付宝小程序, 快应用等,每一端都是巨大的流量入口,当业务要求同时在不同的端都要求有所表现的时候,针对不同的端 ...

  9. 安卓app开发-03-项目的基本开发步骤

    android项目的基本开发步骤 这里分享一下开发 安卓 app 的流程,当然有些感觉不必要,其实不然,前期工作也是极为重要的额,就像开发的时候如果目标不对的话,到后期后很迷的,所以一定要提前做好规划 ...

随机推荐

  1. sessionstorage中存储JSON数据

    在web开发时,可能经常会用到sessionstorage存储数据,存储单个字符串数据变量时并不困难 var str = 'This is a string'; sessionstorage.setI ...

  2. Distributed Systems: When you should build them, and how to scale. A step-by-step guide.

    原文链接 https://medium.com/free-code-camp/distributed-systems-when-you-should-build-them-and-how-to-sca ...

  3. js new Date 创建时间默认是8点

    起因 最近在写一个页面,需要用到时间控制.然后我通过new Date()传入日期字符串创建了一个对象,并与当前时间做时间戳比较,结果12点刚过,就出问题了.举个栗子 // 假设当前时间是2019年12 ...

  4. NLP之语言模型

    参考: https://mp.weixin.qq.com/s/NvwB9H71JUivFyL_Or_ENA http://yangminz.coding.me/blog/post/MinkolovRN ...

  5. Python 之列表切片的四大常用操作

    最近在爬一个网站的文档的时候,老师要求把一段文字切割开来,根据中间的文本分成两段 故学习了一段时间的切片操作,现把学习成果po上来与大家分享 1.何为切片? 列表的切片就是处理列表中的部分元素,是把整 ...

  6. 使用 ASP.NET Core MVC 创建 Web API(六)

    使用 ASP.NET Core MVC 创建 Web API 使用 ASP.NET Core MVC 创建 Web API(一) 使用 ASP.NET Core MVC 创建 Web API(二) 使 ...

  7. Add the Scheduler Module 添加计划程序模块

    Important 重要 Scheduler requires the Event business class to be in your XAF application model. Follow ...

  8. Highlight List View Objects 突出显示列表视图对象

    In this lesson, you will learn how to format data that satisfies the specified criteria. For this pu ...

  9. 【Puppeteer】puppeteer安装/常用的方法以及一个小栗子(Youtube油管自动评论)

    这里介绍的是Win平台的安装方法,其他平台请至Github>Puppeteer. 首先要安装node.js 可以看我这篇的开头>[Angular]学习笔记-环境部署.项目建立相关 1.新建 ...

  10. [转]UIPath进阶教程-6. Architecture & Publishing flow

    本文转自:https://blog.csdn.net/liaohenchen/article/details/88847597 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议, ...