http://blog.csdn.net/hualangdao/article/details/6195519
Apk文件的反編譯
具體步驟:
首先將apk文件,將後綴改爲zip,解壓,得到其中的classes.dex,它就是java文件編譯再通過dx工具打包而成的;比如將test.apk解壓後的目錄如下
2、 然後是下載有關反編譯的工具,鏈接http://wangqiaowqo.javaeye.com/blog/782648
(1) AXMLPrinter2.jar用於反編譯xml佈局文件的,如果是直接打開如main.xml文件的話,會看到裏面的亂碼是一大片
(2) dex2jar工具用於反編譯class.dex文件爲classes.dex.dex2rar.jar文件,具體作用下面會說到
(3) JD-GUI用於查看*.class的源代碼
3、 具體操作,我們要反編譯一個apk文件要有三個步驟
(1) 反編譯XML文件,要使用到AXMLPrinter2.jar,首先將AXMLPrinter2.jar放到E:/lOVEAndroid/toXML文件夾裏(文件夾隨意指定),但是要反編譯的xml文件也要放到這個文件夾裏,然後進入DOS內,輸入
此時,查看那個文件夾下會出現一個main.txt文件
再次查看的話就可以看到正確的XML源碼了
(2) 接下來使用dex2jar工具,例如我們解壓後放到E:/lOVEAndroid/dex2jar文件夾下,解壓後的目錄如下
此時把classes.dex文件放入到這個文件夾下,進入DOS目錄下,輸入
dex2jar classes.dex
此時查看這個目錄可以看到多了個classes.dex.dex2jar.jar文件
(3) 最後一步用到JD-GUI工具,我們將其解壓到E:/lOVEAndroid/JD-GUI目錄下,並且還要把剛纔的那個classes.dex.dex2jar.jar文件拷貝到這個目錄下
雙擊jd-gui.exe程序,會進入到一個類似記事本的工具中,這個時候就可以查看源代碼了
注意:可能這些工具在windows 7系統下解壓後少了很多東西,比如我當時就少了dex2jar.bat等,但是用WINRAR還是可以看到這個文件,就是解壓後看不到了,很惱火,後來在別人的XP系統下把它解壓後,拷貝到自己的電腦裏就可以了