0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Java代码加密支持Android App Bundle动态化框架

几维安全 来源:几维安全 作者:几维安全 2020-07-29 16:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

传统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,等要用的时候再下载。

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技术属于代码静态加密,没有运行时劫持,可配合安全编译器工作,达到高安全性、高兼容性的要求。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    4035

    浏览量

    134581
  • JAVA
    +关注

    关注

    20

    文章

    3012

    浏览量

    116898
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    黑马-Java+AI新版V16零基础就业班百度云网盘下载+Java+AI全栈开发工程师

    逼近这一水平。目前生产级验证充分的三条技术线:一是 ONNX Runtime Java 绑定 ,支持加载主流框架导出的 ONNX 模型,利用内置的 CPU/GPU 执行提供跨平台高性能;二是 Deep
    发表于 05-01 11:29

    如何正确配置AG32 MCU,实现FLASH或者代码加密?

    RISC-V内核(最高248MHz)与可编程逻辑(CPLD),支持硬件逻辑加速与软件控制灵活组合。2)超高灵活性:所有管脚可通过配置文件动态重定义,支持自定义接口、算法和加密,管脚兼容
    发表于 01-22 15:01

    深入解析rk平台Android Bootloader核心代码:从启动流程到AVB验证

    作为Android设备启动的第一道“闸门”,Bootloader(以U-Boot为主)承担着初始硬件、加载内核、验证镜像完整性的核心职责。今天我们拆解Rockchip平台
    的头像 发表于 01-22 07:06 527次阅读
    深入解析rk平台<b class='flag-5'>Android</b> Bootloader核心<b class='flag-5'>代码</b>:从启动流程到AVB验证

    新思科技携手微软、英伟达发布可实时优化动态制造流程框架

    新思科技(纳斯达克代码:SNPS)近日携手技术合作伙伴在微软 Ignite 大会上发布了一套仿真技术驱动的可实时优化动态制造流程框架。该框架已经被全球领先的灌装包装系统集成商 Kron
    的头像 发表于 11-30 09:53 666次阅读

    Perforce JRebel 简介:即时加载代码变更,加速Java应用开发

    Perforce JRebel 专为Java开发提速而生!支持跳过构建与重新部署,实时加载代码变更,支持100+框架,无缝集成主流IDE与应
    的头像 发表于 08-14 14:35 1009次阅读
    Perforce JRebel 简介:即时加载<b class='flag-5'>代码</b>变更,加速<b class='flag-5'>Java</b>应用开发

    ArkUI-X通过Stage模型开发Android端应用指南(一)

    简介 本文介绍将ArkUI框架扩展到Android平台所需要的必要的类及其使用说明,开发者基于OpenHarmony,可复用大部分的应用代码(生命周期等)并可以部署到Android平台
    发表于 06-24 22:16

    ArkUI-X平台桥接Bridge说明

    的三方库等。 说明 平台桥接支持ArkUI调用Android Java API和iOS Objective-C API。此外,一些平台相关功能可直接通过已有的OpenHarmony跨平台API实现
    发表于 06-19 23:12

    ArkUI-X应用工程结构说明

    Bundle Resources管理ArkTS编译产物、ArkUI应用资源和ArkUI框架资源。 Android应用工程结构 ArkUI-X Android应用工程 ├──
    发表于 06-19 23:11

    ArkUI-X在Android平台动态化开发指南

    本文介绍如何在Android平台进行ArkUI-X动态化开发,包括动态目录规则及约束。 适用场景 动态
    发表于 06-15 23:33

    ArkUI-X框架LogInterface使用指南

    ArkUI-X框架支持日志拦截能力,Android侧提供原生接口,用于注入LogInterface接口,框架日志及ts日志通过该接口输出,本文的核心内容是介绍如何在
    发表于 06-15 23:20

    ArkUI-X在Android上使用Fragment开发指南

    com.example.myapplication; import android.os.Bundle; import androidx.fragment.app.FragmentActivity; import
    发表于 06-12 22:42

    ArkUI-X与Android桥接通信之方法回调

    ) => { console.error(\'error: \' + JSON.stringify(err)); }); 2.在Android侧实现被调用的方法。 // xxx.java
    发表于 06-08 22:16

    ArkUI-X中Plugin生命周期开发指南

    : // EntryEntryAbilityActivity,java import android.os.Bundle; import
    发表于 06-04 22:36

    ArkUI-X跨平台框架接入指南

    ArkUI跨平台框架(ArkUI-X)进一步将ArkUI开发框架扩展到了多个OS平台:目前支持OpenHarmony、Android、 iOS,后续会逐步增加更多平台
    发表于 05-18 18:21

    APP自动测试框架

    APP自动测试框架是一套结合工具链、设计模式和技术规范的集成解决方案。以下是基于主流技术实践的核心要点总结: 一、核心模块构成 环境管理‌ 支持物理机/虚拟机/容器
    的头像 发表于 05-07 07:35 852次阅读
    <b class='flag-5'>APP</b>自动<b class='flag-5'>化</b>测试<b class='flag-5'>框架</b>