dex2jar工具進行反編譯
首先要下載兩個東西:
- dex2jar:http://code.google.com/p/dex2jar/downloads/list
- JdGUI:http://java.decompiler.free.fr/?q=jdgui (反編譯Jar包,查看Jar包的源代碼的GUI工具)
步驟如下:
- 下載一個.apk程序安裝包,將其文件名*.apk改爲*.zip後進行解壓。
- 把其中的class.dex拷貝到dex2jar.bat所在目錄。將class.dex拖至dex2jar.bat運行 ,將會在其文件夾下生成classes.dex.dex2jar.jar。
- 運行JD-GUI工具(它是綠色無須安裝的),打開上面的jar文件,即可看到源代碼。
- 對於xml的文件的編譯,需要工具AXMLPrinter2.jar(http://code.google.com/p/android4me/downloads/list)。下載後解壓到android sdk tools目錄,具體的使用方法,與上面的差不多,可以運用命令:cmd進入到SDK tools目錄,運行如下命令即可。
java -jar AXMLPrinter2.jar main.xml > main.txt
按上面操作後,源碼可以查看了但是打開資源文件就是亂碼,比如佈局xml文件。無奈只能用如下工具再進行反編譯。
1 , android-apktool 下載地址:http://code.google.com/p/android-apktool/ 需要下載apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip兩個包。下載完成後解壓兩個包,將解壓出來的3個文件複製到C:\Windows文件夾裏。
2, 將你要反編譯的apk文件複製到C盤更目錄。
3, 打開命令窗口 (開始 > 運行,輸入cmd,回車。)進入到apktool.bat的文件夾裏也就是C:\Windows
4, 輸入 apktool d C:\**.apk C:\xxx文件夾 (命令行解釋:apktool d 要反編譯的文件 輸出文件夾),在輸出文件夾中就可以看到你想要的資源了。
如果你覺得這個應用某個地方的佈局或者廣告的嵌入讓你不爽,你就可以找到相應文件進行修改,完成後同樣用此工具進行打包。