安卓 apk反編譯教程
一、反編譯工具
1、apktool:獲取資源文件,提取圖片文件,布局文件,還有一些XML的資源文件。
2、dex2jar:將APK反編譯成Java源碼(將classes.dex轉(zhuǎn)化為jar文件)。
3、jd-gui:查看dex2jar中轉(zhuǎn)換后的jar文件。
二、注意事項
1、在反編譯的代碼看到a、b、c等等,這些是apk發(fā)布時進行混淆了,然后進行一些加密,或者使用第三方的加密平臺,用的比較多的“愛加密”,有興趣的也自行百度查看更加詳細的介紹!apk進行混淆后里面的代碼就沒有必要再看了!
2、切勿拿反編譯來做違法的事,比如把人家的APK重新打包后使用自己的簽名然后發(fā)布到相關(guān)市場。
3、我們是參考別人的代碼,而不是完全拷貝?。?!切記??!
三、apktool
1.1 官方鏈接
鏈接:https://bitbucket.org/iBotPeaches/apktool/downloads/
1.2 下載安裝
三種不同系統(tǒng)的安裝教程:https://ibotpeaches.github.io/Apktool/install/

我使用的是Windows系統(tǒng),這里我以Windows為例子來進行講解如何安裝。
1、先創(chuàng)建一個名為apktool的文件夾,用來存放apktool的文件,再根據(jù)官方鏈接下載最新的jar(apktool_2.6.0.jar),再將jar 重命名為 apktool.jar

2、在apktool的文件夾里創(chuàng)建apktool.txt文件,再點擊wrapper script鏈接,進入腳本復制內(nèi)容到apktool.txt文件里,完成后將apktool.txt更改為apktool.bat即可。


3、將兩個文件 apktool.jar 和 apktool.bat 移動到你的 Windows 目錄(通常是C://Windows)。如果你無權(quán)訪問C://Windows,你可以將這兩個文件放在apktool.txt文件,然后將該目錄添加到你的環(huán)境變量系統(tǒng) PATH 變量中。
4、win + r 再輸入cmd 打開命令提示符,直接輸入apktool 回車即可。
1.3 使用
在命令提示符里找到apk存放的目錄,然后輸入apktool.bat d Wi-Fi.apk(Wi-Fi指的是apk名) ,Enter回車即可。然后目錄下就會出現(xiàn)同apk名的文件夾,里面就是我們所需的資源文件。

四、dex2jar
1.1 官方鏈接
鏈接:https://sourceforge.net/projects/dex2jar/files/
1.2 下載安裝
1、下載最新dex2jar(dex2jar-2.0.zip)保存到文件夾里,并解壓即可。

1.3 使用
1、將Wi-Fi.apk的后綴名改為Wi-Fi.zip并解壓得到Wi-Fi文件夾。

2、在Wi-Fi文件夾里有一個classes.dex文件,將classes.dex文件復制到dex2jar-2.0文件夾里。


3、打開命令提示符,找到dex2jar-2.0目錄,輸入d2j-dex2jar.bat classes.dex 回車,這樣我們就會得到一個classes-dex2jar.jar包,里面就是我們所需的java代碼,但需要 jd-gui 打開來看。


五、jd-gui
1.1 官方鏈接
鏈接:http://java-decompiler.github.io/
1.2 下載安裝
1、打開官方鏈接,找到 JD-GUI —> 點擊Download —> 點擊jd-gui-1.6.6.jar下載,保存到文件夾里,并解壓即可。

1.3 使用
1、在jd-gui-windows-1.6.6文件夾里打開 jd-gui.exe ,再找到 classes-dex2jar.jar 打開就可以看到代碼了。

