1. 程式人生 > >安卓apk 反編譯為 Java原始碼圖文教程

安卓apk 反編譯為 Java原始碼圖文教程

前言:

近來在模仿寫一個app,可惜只有apk,沒找到原始碼,只好進行反編譯,特記錄於此,供人蔘考。

測試環境:win10  64位

工具:

作用:獲取資原始檔,提取圖片檔案,佈局檔案,還有一些XML的資原始檔

作用:將apk反編譯成java原始碼(classes.dex轉化成jar檔案)

作用:檢視APK中classes.dex轉化成出的jar檔案,即原始碼檔案

apk反編譯獲取資源:

將apktool.bat 和apktool.jar 檔案,與apk檔案一同複製到到一個資料夾下:

開啟cmd命令列視窗,輸入:

【下方命令列中的 * ,要修改為自己的apk檔案的名字,如我此處為        apktool.bat d binghuo.apk        】

apktool.bat d *.apk

圖文詳解過程(Apk反編譯得到Java原始碼):

下載上述工具中的dex2jar和jd-gui ,解壓

將要反編譯的APK字尾名改為.rar或則 .zip,並解壓,得到其中的額classes.dex檔案(它就是java檔案編譯再通過dx工具打包而成的),將獲取到的classes.dex放到之前解壓出來的工具dex2jar-2.0 資料夾內,

在命令列下定位到dex2jar.bat所在目錄,輸入

d2j-dex2jar.bat   classes.dex

效果如下:

在該目錄下會生成一個classes_dex2jar.jar的檔案,然後開啟工具jd-gui-windows-1.4.0資料夾裡的jd-gui.exe,然後用該工具開啟之前生成的classes_dex2jar.jar檔案,便可以看到原始碼了,效果如下:

PS:被混淆過的效果圖(類檔名稱以及裡面的方法名稱都會以a,b,c....之類的樣式命名)。