Android APK反編譯那點事

       在進行安卓開發時,有時候需要了解或獲取第三方應用的代碼結構、佈局和樣式文件、以及好的圖片資源等。在不能直接得到源碼的情況下,只能通過反編譯技術來實現。下面就簡單介紹下反編譯APK文件的過程。

一:環境介紹

(1)android-apktool 1.5.2GOOGLE提供的APK編譯工具,能查看res目錄下的圖片和配置文件等資源。

(2)dex2jar-0.0.9.15將apk中的classes.dex轉化成jar文件。

二:查看APK內的資源文件

(1)通過地址http://code.google.com/p/android-apktool/ 下載 apktool1.5.2.tar.bz2 和 apktool-install-windows-r05-ibot.tar.bz2(根據操作系統自行選擇)。

(2)在E盤創建文件夾apktool1.5.2(盤符和文件夾自行定義),把上步下載的兩個壓縮文件解壓到此文件夾下,內容如下圖:

         

(3)拷貝需要反編譯的APK文件(如 Test.apk)到 E:\apktool1.5.2 下。

(4)打開命令窗口(開始 -> 運行  輸入cmd  回車)進入到apktool.bat的文件夾裏,目前是 E:\apktool1.5.2。

(5)輸入:apktool.bat d E:\apktool1.5.2\Test.apk  E:\apktool1.5.2\output,回車,操作步驟和結果詳見下圖

      格式說明apktool.bat d  apk文件路徑    輸出路徑(最好是一個不存在的文件夾,它會自動創建)。

(6)上述步驟完成後,即可在 E:\apktool1.5.2\output 路徑出現反編譯後的資源文件。

三:查看APK內的源代碼

(1)下載dex2jar-0.0.9.15.zip,解壓到某盤符根目錄,例如  E:\dex2jar-0.0.9.15。

(2)把APK文件重名爲ZIP文件並解壓,把解壓出的 classes.dex 文件拷貝到  E:\dex2jar-0.0.9.15 下。

(3)打開命令窗口(開始 -> 運行  輸入cmd  回車)進入到dex2jar-0.0.9.15文件夾,目前是 E:\dex2jar-0.0.9.15。

(4)輸入:dex2jar.bat classes.dex ,回車,詳見下圖

(5)上述步驟執行完畢,即可在 dex2jar-0.0.9.15 目錄下生成 classes_dex2jar.jar ,把其放到任何一款JAVA反編譯軟件中都能得到源代碼。相信任何有過JAVA開發經歷的朋友都不陌生。






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章