目前就已經(jīng)常用的三個工具:Apktool艺玲、dex2jar、jd-gui若治,不要采用mac的brew工具(brew install xxx)安裝這些工具感混,因為這樣安裝的不一定是最新版,會導(dǎo)致后面反編譯產(chǎn)生問題庭呜,因此犀忱,所有的工具全部手動安裝数冬,或找到其原始發(fā)布網(wǎng)站進行下載安裝拐纱。
Android安裝包apk文件介紹:一個apk文件實質(zhì)上就是一個壓縮文件秸架,可以直接通過解壓工具解壓的东抹,只不過通常情況下缭黔,直接解壓出來得到的內(nèi)容都是被編譯過的董瞻,包括各種資源文件等田巴,如果想獲取apk包里的圖片壹哺,配置文件AndroidManifest.xml等需要首先用Apktool文件反編譯管宵。
mac 記得先安裝jdk岗喉,這是基礎(chǔ)钱床,搜索自行安裝最新版查牌,有dmg的安裝文件,直接安裝胁孙,完了在命令行測試:java -version牵敷, 如果正常輸出,則安裝成功
1.Apktool,一個編譯反編譯apk包的工具,拿到一個apk包后首先”apktool d xx.apk“ ,如果發(fā)現(xiàn)報錯,說明該apk包被加固過(類似ios中,直接從appstore獲取的ipa包外面有一層殼一樣),要先解固(即脫殼),不然后續(xù)工作都是徒勞嗤栓。
安裝Apktool :
參考:http://www.reibang.com/p/9554ab3f444f
- dex2jar锭弊,將apk包中*.dex 文件反編譯成jar文件,dex文件就類似windows的可執(zhí)行文件exe昨凡,ipa包中的那個無后綴的可執(zhí)行文件,核心邏輯都在這里
安裝dex2jar:【編譯過程參考:https://github.com/pxb1988/dex2jar/wiki/BuildFromSource】
a、git下載dex2jar的官方源碼 git clone https://github.com/pxb1988/dex2jar (用git clone來下載晌杰,不要直接手動下載爹殊,以免項目中有g(shù)it相關(guān)聯(lián)的文件夾無法下載下來)
b健盒、dex2jar源碼的編譯需要使用一個叫做gradle的工具绒瘦,先在mac上安裝gradle
b1扣癣、直接到Gradle的官網(wǎng)下載已經(jīng)編譯好的release版:https://gradle.org/releases/
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/
#修改編譯出來的文件的權(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
#在當前目錄下便能得到xxx-dex2jar.jar 文件
- jd-gui直接去官網(wǎng)http://java-decompiler.github.io/下載士嚎,可查看dex2jar生成的jar文件,即能看到j(luò)ava源碼