目前就已經(jīng)常用的三個(gè)工具:Apktool、dex2jar、jd-gui,不要采用mac的brew工具(brew install xxx)安裝這些工具,因?yàn)檫@樣安裝的不一定是最新版,會(huì)導(dǎo)致后面反編譯產(chǎn)生問(wèn)題,因此,所有的工具全部手動(dòng)安裝,或找到其原始發(fā)布網(wǎng)站進(jìn)行下載安裝。
Android安裝包apk文件介紹:一個(gè)apk文件實(shí)質(zhì)上就是一個(gè)壓縮文件,可以直接通過(guò)解壓工具解壓的,只不過(guò)通常情況下,直接解壓出來(lái)得到的內(nèi)容都是被編譯過(guò)的,包括各種資源文件等,如果想獲取apk包里的圖片,配置文件AndroidManifest.xml等需要首先用Apktool文件反編譯。
mac 記得先安裝jdk,這是基礎(chǔ),搜索自行安裝最新版,有dmg的安裝文件,直接安裝,完了在命令行測(cè)試:java -version, 如果正常輸出,則安裝成功
1.Apktool,一個(gè)編譯反編譯apk包的工具,拿到一個(gè)apk包后首先”apktool d xx.apk“ ,如果發(fā)現(xiàn)報(bào)錯(cuò),說(shuō)明該apk包被加固過(guò)(類似ios中,直接從appstore獲取的ipa包外面有一層殼一樣),要先解固(即脫殼),不然后續(xù)工作都是徒勞。
安裝Apktool :
參考:http://www.itdecent.cn/p/9554ab3f444f
- dex2jar,將apk包中*.dex 文件反編譯成jar文件,dex文件就類似windows的可執(zhí)行文件exe,ipa包中的那個(gè)無(wú)后綴的可執(zhí)行文件,核心邏輯都在這里
安裝dex2jar:【編譯過(guò)程參考:https://github.com/pxb1988/dex2jar/wiki/BuildFromSource】
a、git下載dex2jar的官方源碼 git clone https://github.com/pxb1988/dex2jar (用git clone來(lái)下載,不要直接手動(dòng)下載,以免項(xiàng)目中有g(shù)it相關(guān)聯(lián)的文件夾無(wú)法下載下來(lái))
b、dex2jar源碼的編譯需要使用一個(gè)叫做gradle的工具,先在mac上安裝gradle
b1、直接到Gradle的官網(wǎng)下載已經(jīng)編譯好的release版:https://gradle.org/releases/
圖片.png
b2、
cd dex2jar-2.x
/Users/lop/Downloads/gradle-6.2.2/bin/gradle clean distZip
# if build successfull, the zip file is under dex-tools/build/distributions/
#修改編譯出來(lái)的文件的權(quán)限
sudo chmod +x /Users/lop/Downloads/dex2jar-2.x/dex-tools/build/distributions/dex-tools-2.1-SNAPSHOT/*.*
#反編譯dex文件
sh /Users/lop/Downloads/dex2jar-2.x/dex-tools/build/distributions/dex-tools-2.1-SNAPSHOT/d2j-dex2jar.sh -f xxx.apk
#在當(dāng)前目錄下便能得到xxx-dex2jar.jar 文件
- jd-gui直接去官網(wǎng)http://java-decompiler.github.io/下載,可查看dex2jar生成的jar文件,即能看到j(luò)ava源碼
