常見App加固廠商脫殼方法研究

2021-07-23 09:26:44 字數 3492 閱讀 1876

簡述(脫殼前學習的知識、殼的歷史、脫殼方法)

第一代殼

第二代殼

第三代殼

第n代殼

apk檔案結構

dex檔案結構

殼史殼的識別

第一代殼 dex加密

dex字串加密

資源加密

對抗反編譯

反除錯自定義dexclassloader

第二代殼 dex抽取與so加固

對抗第一代殼常見的脫殼法

dex method**抽取到外部(通常企業版)

dex動態載入

so加密

第三代殼 dex動態解密與so混淆

dex method**動態解密

so**膨脹混淆

對抗之前出現的所有脫殼法

***殼 arm vmp(未來)

vmp1.用加固廠商特徵:

2.基於特徵的識別**

記憶體dump法

檔案監視法

hook法

定製系統

動態除錯法 1 2

34

.gdbserver

:1234 –attach

pid

.gdb

(gdb

)target

remote

:1234

(gdb

)gcore

coredump檔案中搜尋「dex.035」

記憶體重組法

hook法

動態除錯

定製系統

靜態脫殼機

dex篇

zjdroid

對付一切記憶體中完整的dex,包括殼與動態載入的jar

so篇elfrebuild

構造soinfo,然後對其進行重建

針對無**抽取且hook dvmdexfileopenpartial失敗

hook dexfileparse

針對無**抽取且hook dexfileparse失敗

hook memcmp

修改安卓原始碼並刷機-針對無抽取**

hook dexfileparse

dexhunter-最強大的二代殼脫殼工具

dexhunter的工作流程:

dexhunter的工作原理:

繞過三程序反除錯

修改系統原始碼後:

1ls/

proc

/345

/task1 2

3./

gdbserver

:1234

—attach346

...

(gdb

)gcore

gcore防dump解決方案:

斷點mmap除錯,針對hook dexfileparse無效

原理: dexopt優化時, dvmcontinueoptimization()->mmap()

分析殼so邏輯並還原加密演算法

自定義linker脫so殼

1main()

–>

dump_file()

dex2oat法

定製系統

art模式下,dex2oat生成oat時,記憶體中的dex是完整的

hook dalvik_dalvik_system_dexfile_defineclassnative

列舉所有dexclassdef,對所有的class,呼叫dvmdefineclass進行強制載入

so + vmp

動態除錯 + 人肉還原簡述(脫殼前學習的知識、殼的歷史、脫殼方法)

第一代殼

第二代殼

第三代殼

第n代殼

apk檔案結構

dex檔案結構

殼史殼的識別

第一代殼 dex加密

dex字串加密

資源加密

對抗反編譯

反除錯自定義dexclassloader

第二代殼 dex抽取與so加固

對抗第一代殼常見的脫殼法

dex method**抽取到外部(通常企業版)

dex動態載入

so加密

第三代殼 dex動態解密與so混淆

dex method**動態解密

so**膨脹混淆

對抗之前出現的所有脫殼法

***殼 arm vmp(未來)

vmp1.用加固廠商特徵:

2.基於特徵的識別**

記憶體dump法

檔案監視法

hook法

定製系統

動態除錯法1 23

4.gdbserver

:1234 –attach

pid

.gdb

(gdb

)target

remote

:1234

(gdb

)gcore

coredump檔案中搜尋「dex.035」

記憶體重組法

hook法

動態除錯

定製系統

靜態脫殼機

dex篇

zjdroid

對付一切記憶體中完整的dex,包括殼與動態載入的jar

so篇elfrebuild

構造soinfo,然後對其進行重建

針對無**抽取且hook dvmdexfileopenpartial失敗

hook dexfileparse

針對無**抽取且hook dexfileparse失敗

hook memcmp

修改安卓原始碼並刷機-針對無抽取**

hook dexfileparse

dexhunter-最強大的二代殼脫殼工具

dexhunter的工作流程:

dexhunter的工作原理:

繞過三程序反除錯

修改系統原始碼後:

1 ls/

proc

/345

/task12

3./

gdbserver

:1234

—attach346

...

(gdb

)gcore

gcore防dump解決方案:

斷點mmap除錯,針對hook dexfileparse無效

原理: dexopt優化時, dvmcontinueoptimization()->mmap()

分析殼so邏輯並還原加密演算法

自定義linker脫so殼

1

main()

–>

dump_file()

dex2oat法

定製系統

art模式下,dex2oat生成oat時,記憶體中的dex是完整的

hook dalvik_dalvik_system_dexfile_defineclassnative

列舉所有dexclassdef,對所有的class,呼叫dvmdefineclass進行強制載入

so + vmp

動態除錯 + 人肉還原

市場發布時 app加固

乙個東西兩次卡殼的時候,就需要記載。在進行多渠道打包的時候,應用市場會將進行一次加固,加固後需要重簽審核 指令如下 jarsigner verbose keystore 簽名的名稱 signedjar 簽名後的apk名稱.apk 簽名前的apk.apk 簽名的別名 jarsigner 位於jdk b...

DOC CRACK 常見殼的脫法

fsg 2.0 bart xt 單步到popad下面 堆疊裡的loadlibrary上面的位址就是入口位址 pencrypt 3.1 final junkcode 進入載入點第乙個call,返回以後就是入口位址 armadillo 3.78 4.xx silicon realms toolworks...

常見Nandflash晶元及廠商總結

1 micron 鎂光 半導體,全球第三大記憶體晶元廠,是全球著名的 半導體儲存器 方案 商,是美國500強企業之一。2 toshiba 東芝 日本最大的半導體製造商,以家用電器 重型電機為主體的企業,包括通訊 電子在內的綜合電子電器企業。3 hynix 海力士 晶元生產商,源於南韓品牌英文縮寫 h...