Android App Bundle出来了,App加壳技术不能用了怎么办?

7
回复
261
查看
[复制链接]

43

主题

160

帖子

622

安币

代码手工艺人

Rank: 4

发表于 2019-5-20 14:29:31 | 显示全部楼层 |阅读模式
本帖最后由 工作中的那些事 于 2019-5-20 14:30 编辑

Google I/O大会上,Google向 Android 引入了新 App 动态化框架(Android App Bundle, AAB),被看作是对Android未来发展具有颠覆性的动态化解决方案。在给Android App带来便利的同时,也给移动安全领域带来了新的挑战:传统App加壳技术无法应用在App Bundle模式生成的数据包之上。然而,几维安全推出的Java2C加固方案完美支持Android App Bundle动态化框架,守护企业的核心代码和数据安全。

App 瘦身新姿势:Android App Bundle
Android App Bundle是借助Split Apk完成动态加载,使用AAB动态下发方式,可以大幅度减少应用体积,加快用户安装速度。使用Android的新应用发布格式和Google Play的工台交付上传应用,生成和提供针对每个用户的设备进行优化的APK。只须在 Android Studio 中构建一个应用 (App Bundle),就可以将应用所需的全部内容 (适用于所有设备) 都涵盖在内:所有语言、所有设备屏幕大小、所有硬件架构。它本身并不支持动态化,只是动态化的一个载体文件,真正实现逻辑并不是它。

1.Split APKs
多APK支持以下类型屏幕密度ABI,使用新的拆分机制,构建同一个应用程序的hdpi版本和mdpi版本,能够共享很多的任务 (如 javac,dx,proguard)。此外,它会被认为是一个单一的variant,并且同一个测试程序将会被用来测试每个多APK。

2.Dynamic Feature Module
这个概念感觉像是游戏里面到某个新地图才开始下载那样,不是一来就把所有资源都下载下来。这样显得apk更小了,而且就像游戏逻辑一样,高级副本的地图新手没机会进入,就不必要下载这部分内容,有的用户可能很久都不会用到部分功能,就可以放在Dynamic Feature Module,等要用的时候再下载。

Dynamic Delivery示意效果图

(左) 旧版 APK 交付样例 - 将全部资源都交付至设备;(右) 动态交付样例 - 只向设备交付必要资源

Android App加固新变化
传统加固方式
其对象是一个Android的安装包,也就是一个APK文件,APK文件里面包含了基本所有的内容,一般对其进行加固,必须保证APK里面的DEX和支持的架构都放到包里面,然后对其进行加固处理,当然也有一些热更新框架,但是加固对于这些热更新的框架支持性并不好。

APK包里面的文件结构:

而Android App Bundle动态化框架,是按需要来进行更新代码模块和资源文件的,这就导致传统加固并不合适,而且Google要求上传的Google Play 商店的时候上传打包好的AppBundle,就是以AAB格式的结尾的文件,其实也是一个压缩包,具体的文件结构基本如图:


base代表应用程序的基本模块,feature1 和feature2是动态模块,当用户安装包的时候,Google Play会生成一个基本包,将包安装到设备上,然后运行到需要某个功能的时候才会下载动态模块,所以传统的加固是无法对其进行加固处理的。

几维安全Java2c加固方案
直接对AAB文件进行加密处理,将里面的Dex进行加密转换成加密后的SO,这样的加固方案天然支持Android App Bundle的动态框架。经过Java2C加固之后输出的也是一个AAB文件,上传Google之后完全不影响其分包下发策略。


几维安全Java2C是最新一代Android-Dex保护方案,之前针对Android的应用加密已经经历了4代更迭(第一代动态加载,第二代整体加密解密,第三代类方法抽取,第四代自定义DVM运行时),然而这4代更迭并未很好的解决应用加密后的安全性、兼容性等问题,根本原因是这4代技术底层基于运行时拦截等手段实现Android代码防护,而碎片化、开源化的Android生态让这类技术不能从根本上解决安全问题。而几维安全Java2C技术属于代码静态加密,没有运行时劫持,可配合安全编译器工作,达到高安全性、高兼容性的要求。

推荐阅读:安卓加密(https://www.kiwisec.com/product/app-encrypt.html)

3

主题

7203

帖子

1748

安币

Android大神

Rank: 6Rank: 6

发表于 2019-5-21 10:22:28 | 显示全部楼层
感觉楼主很用心,辛苦啦~

501

主题

1200

帖子

317

安币

手工艺人

发表于 2019-5-21 10:24:40 | 显示全部楼层
支持楼主,支持安卓巴士!

14

主题

1万

帖子

3899

安币

码皇(巴士元老)

Rank: 8Rank: 8

发表于 2019-5-21 10:29:05 | 显示全部楼层
感觉楼主很用心,辛苦啦~

329

主题

967

帖子

722

安币

手工艺人

发表于 2019-5-21 10:37:26 | 显示全部楼层
安卓巴士是个不错的网站,我来顶个贴~

0

主题

9496

帖子

2470

安币

Android大神

Rank: 6Rank: 6

发表于 2019-5-21 10:40:08 | 显示全部楼层
不错不错,楼主辛苦了。。。

20

主题

9266

帖子

2343

安币

Android大神

Rank: 6Rank: 6

发表于 2019-5-21 10:42:11 | 显示全部楼层
支持,感谢,祝巴士越来越好~

43

主题

160

帖子

622

安币

代码手工艺人

Rank: 4

 楼主| 发表于 2019-6-18 15:52:00 | 显示全部楼层
多谢各位的支持哈   
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

领先的中文移动开发者社区
18620764416
7*24全天服务
意见反馈:1294855032@qq.com

扫一扫关注我们

Powered by Discuz! X3.2© 2001-2019 Comsenz Inc.( 粤ICP备15117877号 )