參考資料
http://blog.csdn.net/guolin_blog/article/details/49738023
【反編譯代碼】
到以下兩款工具:
dex2jar 這個(gè)工具用于將dex文件轉(zhuǎn)換成jar文件
下載地址:http://sourceforge.net/projects/dex2jar/files/
jd-gui 這個(gè)工具用于將jar文件轉(zhuǎn)換成java代碼
下載地址:http://jd.benow.ca/
java源代碼反編譯步驟:
1.apk包解壓,將dex文件,copy到 dex2java 文件夾中;
2.通過cmd命令行到文件夾 dex2jar,執(zhí)行命令:d2j-dex2jar xxx.dex; 將得到相應(yīng)的jar文件
3.通過 gui-jd 查看,第二部得到的jar文件;
【反編譯資源】
使用工具:
apktool
apktool 這個(gè)工具用于最大幅度地還原APK文件中的9-patch圖片、布局、字符串等等一系列的資源。
下載地址:http://ibotpeaches.github.io/Apktool/install/
下載文件1:apktool.bat
下載文件2:apktool_2.2.1.jar
反編譯資源步驟:
1.改名 apktool_2.2.1.jar 為 apktool.jar
2.將apk文件,copy到下載的文件的同一目錄;
3.cmd進(jìn)入此目錄,執(zhí)行 apktool d xxx.apk
其中d是decode的意思,表示我們要對Demo.apk這個(gè)文件進(jìn)行解碼。那除了這個(gè)基本用法之外,我們還可以再加上一些附加參數(shù)來控制decode的更多行為:
-f 如果目標(biāo)文件夾已存在,則強(qiáng)制刪除現(xiàn)有文件夾(默認(rèn)如果目標(biāo)文件夾已存在,則解碼失?。?。
-o 指定解碼目標(biāo)文件夾的名稱(默認(rèn)使用APK文件的名字來命名目標(biāo)文件夾)。
-s 不反編譯dex文件,也就是說classes.dex文件會(huì)被保留(默認(rèn)會(huì)將dex文件解碼成smali文件)。
-r 不反編譯資源文件,也就是說resources.arsc文件會(huì)被保留(默認(rèn)會(huì)將resources.arsc解碼成具體的資源文件)。
的緩存文件,將這個(gè)緩存文件刪除掉,然后再重新執(zhí)行反編譯命令應(yīng)該就可以成功了。