Android的APK反編譯主要由反編譯源碼以及反編譯資源兩部分,第一種方法用來學習别人優秀的代碼,第二種方法可以反編譯做漢化或其它一些有用的用途.
源碼反編譯工具包下載下傳:http://download.csdn.net/detail/kyoky_xxj/5632955
資源反編譯工具包下載下傳:http://download.csdn.net/detail/kyoky_xxj/5633061
一、反編譯源碼的方法(四個步驟)
1. 下載下傳上面的源碼反編譯工具包并解壓,将解壓後獲得幾個壓縮包再次解壓(都是綠色軟體,無需安裝)。
2.将需要反編譯的APK封包件字尾名改為zip,然後使用解壓工具解壓APK包并找到裡面的classes.dex檔案,這是JAVA編譯成生成的位元組碼檔案。在上面解壓後的目錄中找到dex2jar-0.0.9.15檔案,将classes.dex檔案拷貝到此檔案夾下。
3.運作指令行工具,并将路徑定位到dex2jar-0.0.9.15目錄,然後運作指令:dex2jar classes.dex 等待指令執行完成,在此目錄下會生成一個classes.dex.dex2jar.jar檔案。
4.在上面解壓好的工具包裡找到jd-gui.exe執行檔案并運作,使用open打開上面生成的classes.dex.dex2jar.jar檔案,就可以看到具體的源碼檔案了。
二、資源反編譯(五個步驟)
1. 将資源反編譯工具包裡面的壓縮檔案都解壓出來。
2.将解壓後的apktool.jar檔案複制到apktool-install-windows...目錄下。
3.打開指令行工具,然後定位到上面的apktool-install-windows...目錄下,運作如下指令:apktool d xxx.apk yyy (指令解釋:其中xxx.apk表示您需要反編譯的APK檔案絕對路徑, yyy表示您希望反編譯後的檔案儲存的檔案夾絕對路徑)。 當然反編譯可以使用的參數還有幾種,可以運作apktool檢視輸出的幫助文檔。
4.打開上面反編譯成功生成的檔案夾目錄,所有資源檔案完全按照Android檔案夾結構放置,找到需要修改的地方修改替換即可。
5.修改替換成功以後,運作如下指令再次打包生成APK檔案即可成為一個全新的應用了。指令如下:apktool b yyy (指令解釋:延續上面的,yyy就是上面生成的檔案夾絕對路徑了)。到yyy\dist目錄下找到新生成的APK檔案,不過這個APK檔案是沒有簽名的。