0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Java代碼加密支持Android App Bundle動(dòng)態(tài)化框架

幾維安全 ? 來源:幾維安全 ? 作者:幾維安全 ? 2020-07-29 16:13 ? 次閱讀

傳統(tǒng)App加殼技術(shù)無法應(yīng)用在App Bundle模式生成的數(shù)據(jù)包之上。然而,幾維安全推出的Java2C加固方案完美支持Android App Bundle動(dòng)態(tài)化框架,守護(hù)企業(yè)的核心代碼和數(shù)據(jù)安全。

App 瘦身新姿勢(shì):Android App Bundle

Android App Bundle是借助Split Apk完成動(dòng)態(tài)加載,使用AAB動(dòng)態(tài)下發(fā)方式,可以大幅度減少應(yīng)用體積,加快用戶安裝速度。使用Android的新應(yīng)用發(fā)布格式和Google Play的工臺(tái)交付上傳應(yīng)用,生成和提供針對(duì)每個(gè)用戶的設(shè)備進(jìn)行優(yōu)化的APK。只須在 Android Studio 中構(gòu)建一個(gè)應(yīng)用 (App Bundle),就可以將應(yīng)用所需的全部內(nèi)容 (適用于所有設(shè)備) 都涵蓋在內(nèi):所有語言、所有設(shè)備屏幕大小、所有硬件架構(gòu)。它本身并不支持動(dòng)態(tài)化,只是動(dòng)態(tài)化的一個(gè)載體文件,真正實(shí)現(xiàn)邏輯并不是它。

1.Split APKs

多APK支持以下類型屏幕密度ABI,使用新的拆分機(jī)制,構(gòu)建同一個(gè)應(yīng)用程序的hdpi版本和mdpi版本,能夠共享很多的任務(wù) (如 javac,dx,proguard)。此外,它會(huì)被認(rèn)為是一個(gè)單一的variant,并且同一個(gè)測(cè)試程序?qū)?huì)被用來測(cè)試每個(gè)多APK。

2.Dynamic Feature Module

這個(gè)概念感覺像是游戲里面到某個(gè)新地圖才開始下載那樣,不是一來就把所有資源都下載下來。這樣顯得apk更小了,而且就像游戲邏輯一樣,高級(jí)副本的地圖新手沒機(jī)會(huì)進(jìn)入,就不必要下載這部分內(nèi)容,有的用戶可能很久都不會(huì)用到部分功能,就可以放在Dynamic Feature Module,等要用的時(shí)候再下載。

Android App加固新變化

傳統(tǒng)加固方式

其對(duì)象是一個(gè)Android的安裝包,也就是一個(gè)APK文件,APK文件里面包含了基本所有的內(nèi)容,一般對(duì)其進(jìn)行加固,必須保證APK里面的DEX和支持的架構(gòu)都放到包里面,然后對(duì)其進(jìn)行加固處理,當(dāng)然也有一些熱更新框架,但是加固對(duì)于這些熱更新的框架支持性并不好。

APK包里面的文件結(jié)構(gòu):

而Android App Bundle動(dòng)態(tài)化框架,是按需要來進(jìn)行更新代碼模塊和資源文件的,這就導(dǎo)致傳統(tǒng)加固并不合適,而且Google要求上傳的Google Play 商店的時(shí)候上傳打包好的AppBundle,就是以AAB格式的結(jié)尾的文件,其實(shí)也是一個(gè)壓縮包,具體的文件結(jié)構(gòu)基本如圖:

base代表應(yīng)用程序的基本模塊,feature1 和feature2是動(dòng)態(tài)模塊,當(dāng)用戶安裝包的時(shí)候,Google Play會(huì)生成一個(gè)基本包,將包安裝到設(shè)備上,然后運(yùn)行到需要某個(gè)功能的時(shí)候才會(huì)下載動(dòng)態(tài)模塊,所以傳統(tǒng)的加固是無法對(duì)其進(jìn)行加固處理的。

幾維安全Java2c加固方案

直接對(duì)AAB文件進(jìn)行加密處理,將里面的Dex進(jìn)行加密轉(zhuǎn)換成加密后的SO,這樣的加固方案天然支持Android App Bundle的動(dòng)態(tài)框架。經(jīng)過Java2C加固之后輸出的也是一個(gè)AAB文件,上傳Google之后完全不影響其分包下發(fā)策略。

幾維安全Java2C是最新一代Android-Dex保護(hù)方案,之前針對(duì)Android的應(yīng)用加密已經(jīng)經(jīng)歷了4代更迭(第一代動(dòng)態(tài)加載,第二代整體加密解密,第三代類方法抽取,第四代自定義DVM運(yùn)行時(shí)),然而這4代更迭并未很好的解決應(yīng)用加密后的安全性、兼容性等問題,根本原因是這4代技術(shù)底層基于運(yùn)行時(shí)攔截等手段實(shí)現(xiàn)Android代碼防護(hù),而碎片化、開源化的Android生態(tài)讓這類技術(shù)不能從根本上解決安全問題。而幾維安全Java2C技術(shù)屬于代碼靜態(tài)加密,沒有運(yùn)行時(shí)劫持,可配合安全編譯器工作,達(dá)到高安全性、高兼容性的要求。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Android
    +關(guān)注

    關(guān)注

    12

    文章

    3936

    瀏覽量

    127403
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2967

    瀏覽量

    104751
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SSM框架的源碼解析與理解

    MVC模式,使得開發(fā)Web應(yīng)用程序變得更加高效和簡(jiǎn)單。 1. Spring框架 基本功能: Spring是一個(gè)開源的Java平臺(tái),它提供了全面的基礎(chǔ)設(shè)施支持,以便開發(fā)Java應(yīng)用程序。
    的頭像 發(fā)表于 12-17 09:20 ?258次閱讀

    SSM框架Java開發(fā)中的應(yīng)用 如何使用SSM進(jìn)行web開發(fā)

    SSM框架,即Spring、SpringMVC和MyBatis的整合,是Java Web開發(fā)中常用的技術(shù)棧。它通過分層架構(gòu),實(shí)現(xiàn)了視圖、控制、業(yè)務(wù)邏輯和數(shù)據(jù)訪問的分離,提高了代碼的可維護(hù)性和可擴(kuò)展性
    的頭像 發(fā)表于 12-16 17:28 ?471次閱讀

    基于瑞薩FPB-RA4E2智能床頭燈項(xiàng)目——4 APP制作

    App Inventor是一款由Google開發(fā)的在線移動(dòng)應(yīng)用開發(fā)平臺(tái),主要用于開發(fā)Android應(yīng)用程序。它通過可視編程方式,允許用戶使用拖放和連接編程塊來創(chuàng)建應(yīng)用程序,無需編寫復(fù)雜代碼
    發(fā)表于 11-29 22:38

    安卓APP開發(fā)中,如何使用加密芯片?

    加密芯片是一種專門設(shè)計(jì)用于保護(hù)信息安全的硬件設(shè)備,它通過內(nèi)置的加密算法對(duì)數(shù)據(jù)進(jìn)行加密和解密,以防止敏感數(shù)據(jù)被竊取或篡改。如下圖HD-RK3568-IOT工控板,搭載ATSHA204A加密
    的頭像 發(fā)表于 10-31 17:43 ?398次閱讀
    安卓<b class='flag-5'>APP</b>開發(fā)中,如何使用<b class='flag-5'>加密</b>芯片?

    揭秘動(dòng)態(tài)跨端框架在鴻蒙系統(tǒng)下的高性能解決方案

    作者:京東科技 胡大海 前言 動(dòng)態(tài)跨端框架 (后文統(tǒng)稱“ 動(dòng)態(tài)” ) 是一個(gè)由京東金融大前端團(tuán)隊(duì)全自主研發(fā)的,一份
    的頭像 發(fā)表于 10-08 13:46 ?823次閱讀
    揭秘<b class='flag-5'>動(dòng)態(tài)</b><b class='flag-5'>化</b>跨端<b class='flag-5'>框架</b>在鴻蒙系統(tǒng)下的高性能解決方案

    史無前例,移植V8虛擬機(jī)到純血鴻蒙系統(tǒng)

    作者:京東科技 于飛躍 一、背景 如圖所示,Roma框架是我們自主研發(fā)的動(dòng)態(tài)跨平臺(tái)解決方案,已支持iOS,android,web三端。目前
    的頭像 發(fā)表于 09-18 10:28 ?1146次閱讀
    史無前例,移植V8虛擬機(jī)到純血鴻蒙系統(tǒng)

    java反編譯的代碼可以修改么

    Java反編譯是一種將編譯后的Java字節(jié)碼(.class文件)轉(zhuǎn)換回源代碼的過程。反編譯后的代碼可以進(jìn)行修改,但是需要注意,反編譯代碼的質(zhì)
    的頭像 發(fā)表于 09-02 11:00 ?677次閱讀

    請(qǐng)問Matter Android APP是否支持連接市面上的Matter設(shè)備?

    各位大佬們,請(qǐng)教下我基于matter開源的Android App,是否可以連接市面上其他的matter協(xié)議設(shè)備并且進(jìn)行控制呢?如果不可以,是需要其他認(rèn)證碼?
    發(fā)表于 07-24 07:25

    如何在Android 10設(shè)備上通過App控制GPIO

    本文檔提供了在 Android 10 設(shè)備上通過應(yīng)用程序(App)控制通用輸入輸出(GPIO)的詳細(xì)指南。這涵蓋了從創(chuàng)建 gpio驅(qū)動(dòng)到App 配置 以及 SELinux 策略以允許特定訪問的所有必要步驟。
    的頭像 發(fā)表于 07-22 17:59 ?1218次閱讀

    云安全服務(wù)加密存儲(chǔ)代碼怎么查

    云安全服務(wù)加密存儲(chǔ)代碼的查詢與實(shí)現(xiàn)是一個(gè)復(fù)雜的過程,涉及到多個(gè)方面,包括數(shù)據(jù)加密、密鑰管理、訪問控制等。 1. 引言 隨著云計(jì)算的快速發(fā)展,越來越多的企業(yè)和個(gè)人將數(shù)據(jù)存儲(chǔ)在云端。然而,數(shù)據(jù)安全問題也
    的頭像 發(fā)表于 07-02 09:28 ?364次閱讀

    鴻蒙ArkUI-X跨語言調(diào)用說明:平臺(tái)差異化【Android、ios動(dòng)態(tài)

    ArkUI-X支持動(dòng)態(tài),使用者可以根據(jù)自己需要動(dòng)態(tài)發(fā)布跨平臺(tái)內(nèi)容,從而使跨平臺(tái)部分和宿主應(yīng)用進(jìn)行解耦。
    的頭像 發(fā)表于 05-23 14:38 ?887次閱讀
    鴻蒙ArkUI-X跨語言調(diào)用說明:平臺(tái)差異化【<b class='flag-5'>Android</b>、ios<b class='flag-5'>動(dòng)態(tài)</b><b class='flag-5'>化</b>】

    最新開源代碼證實(shí)!“鴻蒙原生版”微信正在積極開發(fā)中

    開放源代碼項(xiàng)目等代碼, **僅支持鴻蒙內(nèi)核和鴻蒙系統(tǒng)的應(yīng)用 ** —— 不再兼容 Android 應(yīng)用。 既然不再兼容 Android
    發(fā)表于 05-08 17:08

    SBSFU boot加密過的app大概需要的時(shí)間是什么級(jí)別的?。?/a>

    ST 的SBSFU boot 加密過的app 大概需要的時(shí)間是什么級(jí)別的?。?如果主頻40 M, 代碼100K .
    發(fā)表于 04-19 07:38

    鴻蒙OS開發(fā)實(shí)例:【HarmonyHttpClient】網(wǎng)絡(luò)框架

    鴻蒙上使用的Http網(wǎng)絡(luò)框架,里面包含純Java實(shí)現(xiàn)的HttpNet,類似okhttp使用,支持同步和異步兩種請(qǐng)求方式;還有鴻蒙版retrofit,和Android版Retrofit相
    的頭像 發(fā)表于 04-12 16:58 ?829次閱讀
    鴻蒙OS開發(fā)實(shí)例:【HarmonyHttpClient】網(wǎng)絡(luò)<b class='flag-5'>框架</b>

    java后端能轉(zhuǎn)鴻蒙app開發(fā)嗎

    java后端轉(zhuǎn)鴻蒙app開發(fā)好。 還是前端呢
    發(fā)表于 01-29 18:15