Android反編譯使用到的工具有:
- apktool--反編譯出資源文件
- dex2jar--將dex文件反編譯為class文件
- JD—GUI 查看dex2jar反編譯出來的文件
一、安裝 apktool
1.下載wrapper script(右鍵鏈接存儲為,保存名字為apktool--注意:格式選擇所有文件)
https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/osx/apktool
格式選擇所有文件.png
保存之后圖標是醬紫的:
圖標 .png
- 下載apktool.jar文件
https://bitbucket.org/iBotPeaches/apktool/downloads -
將最新版本的apktool_2.2.1.jar文件重命名為apktool.jar
(重命名是因為wrapper script中有這么一行配置)
配置.png
4.將以上兩個文件一起移動到 /usr/local/bin 路徑下
(將文件放在該路徑下,是為了方便在任何地方都可以直接在terminal中直接使用apktool命令,就像配置windows的環(huán)境變量一樣)
(如果你找不到該路徑,直接打開finder,然后command+shift+G彈出如下窗口,直接進入??)
彈出窗口.png
- 使用命令:chmod +x apktool 將apktool變成可執(zhí)行文件。
(在terminal中輸入 chmod +x 然后將apktool直接拖入terminal中 enter鍵 即可)
然后你會發(fā)現(xiàn)apktool文件圖標變成了醬紫:
圖標改變后.png
- 在網(wǎng)下隨意下載一個apk包,執(zhí)行命令 apktool d xxx.apk(輸入命令后將apk包拖入terminal即可)成功反編譯資源文件,成功反編譯的文件一般保存在電腦中你個人賬戶文件夾下。
二、安裝dex2jar
- 下載dex2jar
https://bitbucket.org/pxb1988/dex2jar
2.解壓 dex2jar.zip
解壓后文件目錄.png
注意上圖中第二行有一個 d2j-invoke.sh 文件需要將其變成可執(zhí)行文件:
執(zhí)行命令:chmod +x d2j-invoke.sh
(在terminal中輸入 chmod +x 然后將 d2j-invoke.sh 直接拖入terminal中 enter鍵 即可)
將要反編譯的 xxx.apk 包重命名為 xxx.zip 后解壓縮打開獲取classes.dex文件:
獲取dex文件.png
將該文件copy到dex2jar根目錄下,執(zhí)行命令:
sh d2j-dex2jar.sh classes.dex
成功反編譯為 classes-dex2jar.jar 。接下來用JD-GUI打開查看。
三、安裝 JD-GUI
http://jd.benow.ca/
下載安裝,打開即可。其他相關(guān)命令不在贅述。
(至此完成,應該沒有錯誤。如有錯誤希望大家指正,互相交流學習。)