溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

關(guān)于AES:加密方式,讓你的APK無懈可擊

發(fā)布時(shí)間:2020-07-12 17:07:08 來源:網(wǎng)絡(luò) 閱讀:746 作者:Android丶VG 欄目:移動(dòng)開發(fā)

曾經(jīng)在阿里碰到一道面試題
面試官問:APK打包流程是什么

(更多完整項(xiàng)目下載。未完待續(xù)。源碼。圖文知識(shí)后續(xù)上傳github。)
(可以聯(lián)系我VX:×××)

今天本文主要講解:

APK文件反編譯

  • 什么是反編譯
  • 如何防止反編譯
  • APK文件的基本構(gòu)造

APK加固的方案原理

  • APK加固總體架構(gòu)
  • APK打包基本流程
  • Dex文件的意義

AES加密項(xiàng)目實(shí)戰(zhàn)

  • APK加固項(xiàng)目實(shí)戰(zhàn)
  • APK脫殼技術(shù)實(shí)戰(zhàn)

關(guān)于AES:加密方式,讓你的APK無懈可擊

一.APK文件反編譯

1.什么是反編譯
  • 定義:
    利用編譯程序從源語言編寫的源程序產(chǎn)生目標(biāo)程序的過程
    2.怎么進(jìn)行反編譯?

    先了解apk的文件構(gòu)造結(jié)構(gòu)關(guān)于AES:加密方式,讓你的APK無懈可擊
    關(guān)于AES:加密方式,讓你的APK無懈可擊

    二.加固方案思想

    一個(gè)程序員的故事:

    辛辛苦苦找到一個(gè)對(duì)象,結(jié)婚后發(fā)現(xiàn)是個(gè)母夜叉。不給管錢就鬧,晚上睡覺她趴著睡,導(dǎo)致這程序員無法去洗腳了。然而這個(gè)程序員很努力,平時(shí)除了上班,還能夠做點(diǎn)外包,賺點(diǎn)外快。所以他就想到了把工資卡上交,而把賺到的外快放到了自己的小金庫。從此過上了X福生活

一個(gè)加密的故事:

通過將非核心的dex文件進(jìn)行暴露來達(dá)到保護(hù)核心dex文件的目的。

關(guān)于AES:加密方式,讓你的APK無懈可擊

三.基本原理

3.1Apk打包流程

加殼是在原來apk的基礎(chǔ)上加一層保護(hù)殼,dex文件修改了就需要重新打包,否則apk安裝不了。這就需要我們?cè)敿?xì)學(xué)習(xí)apk如何打包的

3.2Dex文件是什么

加固的目的是保護(hù)dex,直接而言就是對(duì)dex文件進(jìn)行操作,對(duì)dex文件動(dòng)刀子,必須知道dex文件是什么,能否直接動(dòng)刀子

3.3Dex文件加載流程

加殼后的文件是不能直接用的,dex文件是加密的,所以我們需要對(duì)他進(jìn)行解密,解密后的dex文件如何加載?

3.4APK文件是怎么生產(chǎn)的

關(guān)于AES:加密方式,讓你的APK無懈可擊
關(guān)于AES:加密方式,讓你的APK無懈可擊

四.加固總體框架

關(guān)于AES:加密方式,讓你的APK無懈可擊
那么問題來了:

  • 如何達(dá)到加密效果?
  • 為什么是兩個(gè)系列的dex?
  • 殼dex 怎么來的
  • 殼dex如何保護(hù)源dex?
  • 如何簽名?
  • 如何運(yùn)行新dex(如何脫殼)?
    4.1加密過程

    關(guān)于AES:加密方式,讓你的APK無懈可擊

    4.2APK文件如何簽名

    關(guān)于AES:加密方式,讓你的APK無懈可擊
    關(guān)于AES:加密方式,讓你的APK無懈可擊

4.3APK文件如何運(yùn)行(脫殼)

關(guān)于AES:加密方式,讓你的APK無懈可擊

4.4如何制定某些類在 main dex中
  • multiDexKeepFile:手動(dòng)加入要放到Main.dex中的類
    com.umeng.analytics.Abb.class
  • multiDexKeepProguard:以Proguard的方式手動(dòng)加入要放到的Main.dex中的類
    -keep public class com.tencent.bugly.**{*;}

    總結(jié)

    完成APL加固,我們需要具備的知識(shí)體系有哪些
    關(guān)于AES:加密方式,讓你的APK無懈可擊

(更多完整項(xiàng)目下載。未完待續(xù)。源碼。圖文知識(shí)后續(xù)上傳github。)
(可以聯(lián)系我VX:×××)
關(guān)于AES:加密方式,讓你的APK無懈可擊

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI