最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2018年01月27日 22:01:55   作者:非蟲  
這篇文章主要介紹了常見android app加固廠商脫殼方法研究,需要的朋友可以參考下

目錄簡述(脫殼前學(xué)習(xí)的知識、殼的歷史、脫殼方法)
第一代殼
第二代殼
第三代殼
第N代殼
簡述Apk文件結(jié)構(gòu)Dex文件結(jié)構(gòu)殼史殼的識別Apk文件結(jié)構(gòu)

1

Dex文件結(jié)構(gòu)

2

殼史

第一代殼 Dex加密

Dex字符串加密資源加密對抗反編譯反調(diào)試自定義DexClassLoader

第二代殼 Dex抽取與So加固

對抗第一代殼常見的脫殼法Dex Method代碼抽取到外部(通常企業(yè)版)Dex動態(tài)加載So加密

第三代殼 Dex動態(tài)解密與So混淆

Dex Method代碼動態(tài)解密So代碼膨脹混淆對抗之前出現(xiàn)的所有脫殼法

第四代殼 arm vmp(未來)

vmp殼的識別

1.用加固廠商特征:

娜迦: libchaosvmp.so , libddog.solibfdog.so愛加密:libexec.so, libexecmain.so梆梆: libsecexe.so, libsecmain.so , libDexHelper.so360:libprotectClass.so, libjiagu.so通付盾:libegis.so網(wǎng)秦:libnqshield.so百度:libbaiduprotect.so

2.基于特征的識別代碼

3

第一代殼內(nèi)存Dump法文件監(jiān)視法Hook法定制系統(tǒng)動態(tài)調(diào)試法內(nèi)存Dump法內(nèi)存中尋找dex.035或者dex.036/proc/xxx/maps中查找后,手動Dump

4

android-unpacker https://github.com/strazzere/android-unpacker

5

drizzleDumper https://github.com/DrizzleRisk/drizzleDumper 升級版的android-unpacker,read和lseek64代替pread,匹配dex代替匹配odex

6

IDA Pro + dumpDEXdumpDex https://github.com/CvvT/dumpDex

7

文件監(jiān)視法Dex優(yōu)化生成odexinotifywait-for-Android https://github.com/mkttanabe/inotifywait-for-Android監(jiān)視文件變化

8

notifywait-for-Android https://github.com/mkttanabe/inotifywait-for-Android監(jiān)視DexOpt輸出

9

10

Hook法Hook dvmDexFileOpenPartial http://androidxref.com/4.4_r1/xref/dalvik/vm/DvmDex.cpp

11

12

定制系統(tǒng)修改安卓源碼并刷機(jī)

13

DumpApk https://github.com/CvvT/DumpApk只針對部分殼

14

動態(tài)調(diào)試法IDA Pro

15

16

17

gdb gcore法

.gdbserver :1234 –attach pid .gdb (gdb) target remote :1234 (gdb) gcore


coredump文件中搜索“dex.035”

18

第二代殼內(nèi)存重組法Hook法動態(tài)調(diào)試定制系統(tǒng)靜態(tài)脫殼機(jī)內(nèi)存重組法

Dex篇

ZjDroid http://bbs.pediy.com/showthread.php?t=190494

對付一切內(nèi)存中完整的dex,包括殼與動態(tài)加載的jar

19

20

so篇

elfrebuild

21

22

構(gòu)造soinfo,然后對其進(jìn)行重建

23

24

Hook法

針對無代碼抽取且Hook dvmDexFileOpenPartial失敗

Hook dexFileParse

http://androidxref.com/4.4_r1/xref/dalvik/vm/DvmDex.cpp

25

https://github.com/WooyunDota/DumpDex

26

針對無代碼抽取且Hook dexFileParse失敗

Hook memcmp

http://androidxref.com/4.4_r1/xref/dalvik/vm/DvmDex.cpp

27

28

定制系統(tǒng)

修改安卓源碼并刷機(jī)-針對無抽取代碼

https://github.com/bunnyblue/DexExtractor

29

Hook dexfileParse

30

31

DexHunter-最強(qiáng)大的二代殼脫殼工具

https://github.com/zyq8709/DexHunter

DexHunter的工作流程:

32

DexHunter的工作原理:

33

繞過三進(jìn)程反調(diào)試

http://bbs.pediy.com/showthread.php?p=1439627

34

35

修改系統(tǒng)源碼后:

36

http://www.cnblogs.com/lvcha/p/3903669.html

37

ls /proc/345/task


38

./gdbserver :1234 --attach346 ... (gdb) gcore


gcore防Dump解決方案:

http://bbs.pediy.com/showthread.php?t=198995

斷點mmap調(diào)試,針對Hook dexFileParse無效

原理: dexopt優(yōu)化時, dvmContinueOptimization()->mmap()

39

靜態(tài)脫殼機(jī)

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

http://www.cnblogs.com/2014asm/p/4924342.html

40

自定義linker脫so殼

https://github.com/devilogic/udog

main() -> dump_file()


41

第三代殼dex2oat法定制系統(tǒng)dex2oat法

ART模式下,dex2oat生成oat時,內(nèi)存中的DEX是完整的

http://bbs.pediy.com/showthread.php?t=210532

43

定制系統(tǒng)

Hook Dalvik_dalvik_system_DexFile_defineClassNative

枚舉所有DexClassDef,對所有的class,調(diào)用dvmDefineClass進(jìn)行強(qiáng)制加載

44

第N代殼so + vmp動態(tài)調(diào)試 + 人肉還原

相關(guān)文章

  • Android app啟動時黑屏或者白屏的原因及解決辦法

    Android app啟動時黑屏或者白屏的原因及解決辦法

    這篇文章主要介紹了Android app啟動時黑屏或者白屏的原因及解決辦法的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • Android WebView 詳解及簡單實例

    Android WebView 詳解及簡單實例

    這篇文章主要介紹了Android WebView 詳解及簡單實例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • Android Web3j OOM解決詳解

    Android Web3j OOM解決詳解

    這篇文章主要介紹了Android Web3j OOM解決詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Android UI控件Switch的使用方法

    Android UI控件Switch的使用方法

    這篇文章主要為大家詳細(xì)介紹了Android UI控件Switch的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • android 判斷橫豎屏問題的詳解

    android 判斷橫豎屏問題的詳解

    本篇文章是對android中如何判斷橫豎屏的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • Android?Jetpack庫剖析之ViewModel組件篇

    Android?Jetpack庫剖析之ViewModel組件篇

    這篇文章主要介紹了Android?Jetpack架構(gòu)組件?ViewModel詳解,ViewModel類讓數(shù)據(jù)可在發(fā)生屏幕旋轉(zhuǎn)等配置更改后繼續(xù)存在,ViewModel類旨在以注重生命周期的方式存儲和管理界面相關(guān)的數(shù)據(jù)。感興趣可以來學(xué)習(xí)一下
    2022-07-07
  • Android利用Sensor(傳感器)實現(xiàn)指南針小功能

    Android利用Sensor(傳感器)實現(xiàn)指南針小功能

    這篇文章主要為大家詳細(xì)介紹了Android利用Sensor(傳感器)實現(xiàn)指南針小功能的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Flutter 利用CustomScrollView實現(xiàn)滑動效果

    Flutter 利用CustomScrollView實現(xiàn)滑動效果

    我們可以使用ListView將幾個GridView組合在一起實現(xiàn)了不同可滑動組件的粘合,但是這里必須要設(shè)置禁止 GridView 的滑動,防止多個滑動組件的沖突。這種方式寫起來不太方便,事實上 Flutter 提供了 CustomScrollView 來粘合多個滑動組件,并且可以實現(xiàn)更有趣的滑動效果。
    2021-06-06
  • Android 定時器實現(xiàn)圖片的變換

    Android 定時器實現(xiàn)圖片的變換

    這篇文章主要介紹了Android 定時器實現(xiàn)圖片的變換的相關(guān)資料,利用到定時器和handler,message的結(jié)合實現(xiàn)改功能,需要的朋友可以參考下
    2017-08-08
  • Android 通過cmake的方式接入opencv的方法步驟

    Android 通過cmake的方式接入opencv的方法步驟

    這篇文章主要介紹了Android 通過cmake的方式接入opencv的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04

最新評論

岱山县| 临汾市| 体育| 濮阳市| 汶川县| 突泉县| 横峰县| 宜川县| 凤阳县| 微山县| 固镇县| 上饶市| 闵行区| 长葛市| 福清市| 铁岭县| 忻州市| 出国| 衡水市| 信丰县| 安图县| 安平县| 海原县| 沧州市| 托克逊县| 乌拉特中旗| 鹤岗市| 靖州| 九寨沟县| 扎囊县| 泰宁县| 军事| 黄大仙区| 定结县| 织金县| 温州市| 兰州市| 仪陇县| 天镇县| 舒城县| 英吉沙县|