歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android APK反編譯

Android APK反編譯

1.首先找到Android軟件安裝包中的classes.dex:把.apk文件改名為.zip,然後解壓縮,得到其中的classes.dex文件,它就是java文件編譯再通過dx工具打包成的。
2.把classes.dex拷貝到dex2jar.bat所在目錄。
在命令行模式下定位到dex2jar.bat所在目錄,運行 dex2jar.bat classes.dex  ,生成classes.dex.dex2jar.jar

3.運行JD-GUI工具
打開上面的jar文件,即可看到源代碼
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
二.反編譯apk生成程序的源代碼和圖片、XML配置、語言資源等文件。
2.打開命令窗口(開始>運行,輸入cmd,回車。)進入到apktool.bat的文件夾裡。
          輸入:
                    apktool d "C:\ apk"  " C:\"
(命令行解釋:apktool d 要反編譯的文件輸出文件夾)
特別注意:你要反編譯的文件一定要放在C盤的根目錄裡,
3.打開 C:\***文件夾就可以得到我們學院的各種資源了。
 
三.將反編譯完的文件重新打包成apk
 很簡單,只要輸入:
    apktood b c:***文件夾(你編譯出來文件夾)

APK 本地化 

說起APK的漢化,目前大部分教程都是讓用Hex Workshop或者Android ResEdit來做。但是實際操作後,就會發現:
1、Hex Workshop操作繁瑣,經常出現搜不到想要修改的字符的情況;
2、Android ResEdit簡單用用可以,修改稍微復雜一點就會出現整條整條丟字符串的情況;並且新內容不能比原內容長——誰能保證我的本地化語言就一定比原來的短呢?

現在好了,老外寫的《android-apktool》軟件,可以幫助我們把APK反編譯,生成程序的源代碼和圖片、XML配置、語言資源等文件。我們對圖片和語言資源等文件修改後,可以再把它們編譯打包成APK,簽名後就是手機可以安裝的本地化/修正版APK了。

《android-apktool》軟件軟件可以訪問它的主頁下載獲得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip兩個包都要下。下載後解開,為了方便使用,按作者的推薦把得到的4個文件復制到C:\Windows文件夾裡。

這個工具是Java寫的,需要你的電腦安裝了JRE或者JDK,並在系統環境變量Path裡加入java.exe所在路徑。

以上准備工作做好後,就可以用它來反編譯APK了。這裡我用動態壁紙的APK來做示范。

如果用過動態壁紙,你也許會發現在設置壁紙時,界面的顯示有點問題:“動態壁紙”,在手機上中文顯示為“當前壁紙”。這是“動態壁紙選擇器”LiveWallpapersPicker.apk的翻譯錯誤造成的。

(假設LiveWallpapersPicker.apk放在C盤根目錄)

開始>運行,輸入cmd,回車。
apktool d "C:\LiveWallpapersPicker.apk" "C:\LiveWallpapersPicker"
復制代碼
(命令行解釋:apktool d 要反編譯的文件輸出文件夾)

Copyright © Linux教程網 All Rights Reserved