安卓apk 反編譯為 Java原始碼圖文教程
阿新 • • 發佈:2019-02-14
前言:
近來在模仿寫一個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....之類的樣式命名)。