需要的工具:ApkTool, dex2jar, JD-GUI
ApkTool下載:https://ibotpeaches.github.io/Apktool/install/
下載安裝步驟:
注意點:在操作過程中可能會報錯權限相關的問題,需要對2個文件進行增加權限操作;
cd /usr/local/bin chmod +x apktool chmod +x apktool.jar //chmod +x 增加權限
反編譯APK:
cd /你存放apk的目錄
apktool d xxx.apk //該命令執行后會在同級目錄下生成一個與你編譯的apk同名的目錄
由於APkTool只能將資源文件提取處理 對應.dex類型的文件是無法觀看的 這里就需要用到dex2jar
dex2jar下載:https://sourceforge.net/projects/dex2jar/files/
下載后直接解壓,這里需要注意的是通ApkTool編譯出來的源碼在MAC上是 .smali類型的 我的解決辦法是 將需要編譯的APk 使用解壓軟件打開
這里的區分下: 使用解壓軟件打開apk 和使用apktool反編譯出的apk ,如果你只想要資源文件 ,這兩種方法都能辦到 ,區別就是AndroidManifest.xml 使用解壓軟件打開的話是無法看的(亂碼)
上面圖中也看了有2個classes.dex文件(他們分包) 這就是項目的源碼 將這個兩個文件拷貝到下載解壓的dex2jar目錄
執行命令:
cd /你的dex2jar解壓目錄 也就是上面圖中存放class.dex文件的目錄
sh d2j-dex2jar.sh classes.dex
這里可能會報錯:Permission denied d2j_invoke.sh
解決和apktool一樣:sudo chmod +x d2j_invoke.sh //sudo chmod +增加權限
然后再執行:sh d2j-dex2jar.sh classes.dex
生成的.jar 文件 需要使用JD-GUI 進行查看
JD-GUI下載:http://jd.benow.ca/
安裝后直接打開上面用dex2jar編譯出來的.jar文件