国产精自产拍久久久久久蜜,国产成人av综合亚洲色欲,久久久亚洲AV无码精品一区,超碰在线人人人

蜻蜓手游網(wǎng),分享真實(shí)精致軟件資源!

Android-packinfo(安卓查殼工具) 系列版

  • Android-packinfo(安卓查殼工具)
  • 大。

    2.2M
  • 時(shí)間:

    2019-06-14 16:25
  • 語言:

    中文
  • 版本:

    系列版
  • 等級(jí):

    3級(jí)
  • 平臺(tái):

    Windows
  • 類別:

    官方版/ 免費(fèi) /實(shí)用工具
  • 官網(wǎng):

    暫無
  • 廠商:

  • 備案號(hào):

好評(píng):50%
壞評(píng):50%
掃描二維碼下載到手機(jī)
Android-packinfo(安卓查殼工具)系列版截圖0
Android-packinfo(安卓查殼工具)系列版截圖1

Android-packinfo(安卓查殼工具)介紹

《Android-packinfo》是一款安卓apk查殼工具,簡單來說就是查詢apk的加固廠商,軟件采用c#語言編寫,界面簡單,即使是小白也能輕松地查出apk的加固廠商,并為我們推薦了脫殼工具,非常地好用。

Android-packinfo(安卓查殼工具)

運(yùn)行原理

檢測包內(nèi)的so和dex里的類名來判斷加固的廠商

功能介紹

檢測apk的加固廠商

注意事項(xiàng)

軟件已開源,原理就是遍歷APK里的文件,匹配SO來判斷加固,目前1版的缺陷就是僅僅判斷了So,但已經(jīng)引入了jar支持,卻沒有做dex及其它分析方式

2版會(huì)完善這些缺陷!

如果發(fā)現(xiàn)有加固無法識(shí)別或加固識(shí)別不精準(zhǔn)的Bug可以反饋在下方,如是其它問題可以自行下載C#源碼進(jìn)行二次修改!

APK加殼原理

PRE、dex文件結(jié)構(gòu)知識(shí)和加殼原理 

先看下dex文件的基本結(jié)構(gòu) 

對(duì)于加殼主要關(guān)注3個(gè)關(guān)鍵字: 

1)checksum 

文件校驗(yàn)碼,使用alder32算法,校驗(yàn)文件除了maigc和checksum外余下的所有文件區(qū)域,用于檢查文件錯(cuò)誤。 

2)signature 

使用SHA-1算法hash除了magic ,checksum和signature外余下的所有文件區(qū)域,用于唯一識(shí)別本文件 。 

3)file_size 

dex文件的大小。 

為什么說只需要關(guān)注這三個(gè)字段呢? 

因?yàn)槲覀冃枰獙⒁粋(gè)文件(加密之后的源Apk)寫入到Dex中,那么我們肯定需要修改文件校驗(yàn)碼(checksum).因?yàn)樗菣z查文件是否有錯(cuò)誤。那么signature也是一樣,也是唯一識(shí)別文件的算法。還有就是需要修改dex文件的大小。 

不過這里還需要一個(gè)操作,就是標(biāo)注一下我們加密的Apk的大小,因?yàn)槲覀冊(cè)诿摎さ臅r(shí)候,需要知道Apk的大小,才能正確的得到Apk。那么這個(gè)值放到哪呢?這個(gè)值直接放到文件的末尾就可以了。 

所以總結(jié)一下我們需要做:修改Dex的三個(gè)文件頭,將源Apk的大小追加到殼dex的末尾就可以了。 

我們修改之后得到新的dex文件樣式如下: 

下面是代碼和項(xiàng)目流程,有興趣的同學(xué)可以以此為需求自己研究coding: 

1、制作原始項(xiàng)目的apk,這里稱作original.apk; 

2、制作一個(gè)殼項(xiàng)目(具體功能見ps),編譯通過后得到它的classes.dex文件,這里稱作shell.dex,而殼項(xiàng)目的apk稱作shell.apk(需要簽名); 

3、制作一個(gè)加殼工具(java工程就可以),按照以下流程工作: 

1)讀取original.apk的byte流,并加密; 

2)讀取shell.dex的byte流; 

3)new一個(gè)新的byte數(shù)組,長度為1)和2)的長度之和+4,因?yàn)槲覀円趕hell.dex中保存original.apk的長度; 

4)在new byte數(shù)組中寫入2),寫入1),寫入1)的長度; 

5)根據(jù)dex文件的結(jié)構(gòu),修改checksum文件頭、Signature文件頭和file_size文件頭,最終生成一個(gè)新的classes.dex; 

4、替換掉2中的shell.apk中的classes.dex,并使用工具重新簽名; 

5、生成的新簽名apk就是我們加殼過的apk了。

PS、殼項(xiàng)目的功能 

1)獲取shell.dex中的original.apk,解密后在指定的內(nèi)部文件夾中重新生成original.apk 

2)hook ActivityThread中的currentActivityThread,拿到主線程實(shí)例; 

3)換掉1)中的mClassLoader,使其可以加載外部的apk(參考插件化原理),這里要的是加載就是1)中的original.apk; 

(上面三個(gè)流程在shell.apk的application中的attachBaseContext方法中執(zhí)行) 

4)動(dòng)態(tài)加載original.apk中的Application,替換掉系統(tǒng)組件中所有的application信息;

PS、以上殼項(xiàng)目是在java層實(shí)現(xiàn)的,更深入的可以考慮在jni層來實(shí)現(xiàn)。該方法同樣適用于jar包加殼~ 

動(dòng)態(tài)加載技術(shù)真的是很重要,我們已經(jīng)看過很多安卓核心技術(shù)的本質(zhì)都是基于動(dòng)態(tài)加載的。而這些創(chuàng)意的源泉,都來自熟讀安卓源碼,了解系統(tǒng)核心組件的實(shí)現(xiàn)流程。

應(yīng)用信息

其他版本

猜你喜歡

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)