1. 程式人生 > >反編譯APK獲取程式碼&資源

反編譯APK獲取程式碼&資源

1.要準備的三個工具


    apktool:獲取資原始檔,提取圖片檔案,佈局檔案,還有一些XML的資原始檔
    dex2jar:將APK反編譯成Java原始碼(將classes.dex轉化為jar檔案)
 	jd-gui:檢視2中轉換後的jar檔案,即檢視Java檔案 為了方便各位讀者,這裡將三個打包到一起放到雲盤中,又需要的可以進行下載: 反編譯相關的三個工具.zip

2.使用apktool反編譯APK獲得圖片與XML資源:

把下載好的apktool解壓後,我們可以看到下述檔案(忽略那兩個csdn,一個是反編譯的apk,一個是反編譯後文件):在這裡插入圖片描述

接下來,雙擊cmd.exe,來到命令列,鍵入: apktool.bat d csdn.apk 即可,Enter回車: 在這裡插入圖片描述

然後就可以看到生成的csdn資料夾,裡面就有我們想要資源 好的,就是XML資源到手了是吧!圖片素材也到手了!在這裡插入圖片描述在這裡插入圖片描述 在這裡插入圖片描述 3.使用dex2jar將classes.dex轉換成jar檔案:

把下載好的dex2jar資料夾解壓,apk解壓後中的classes.dex複製到dex2jar.bat所在的目錄下: 在這裡插入圖片描述

開啟cmd,來到這個目錄下:鍵入:d2j-dex2jar.bat classes.dex 在這裡插入圖片描述

接著我們可以看到,生成了一個jar包: 在這裡插入圖片描述 好的,轉換完成!

4.使用jd-gui檢視jar包中的Java程式碼: 好的,開啟jd-gui的資料夾 在這裡插入圖片描述在這裡插入圖片描述

開啟後,開啟我們3中轉換後的jar包,我們可以看見裡面的程式碼: 在這裡插入圖片描述

csdn的客戶端竟然不混淆程式碼…可能是本著開源的精神吧,給我們學習程式碼吧!一般的話,apk釋出都會 進行混淆,然後進行一些加密,或者使用第三方的加密平臺,用的比較多的"愛加密",有興趣的也自行百度檢視更加詳細的介紹!