APK 反編譯記錄

  1. 準備工作
    下載相應的工具軟件:

1.1 配置好Java環(huán)境

1.2 下載最新版的apktool的jar包,并改為apktool.jar(如apktool_2.2.1.jar 改為 apktool.jar):
https://bitbucket.org/iBotPeaches/apktool/downloads
作用:資源文件獲取,可以提取出圖片文件和布局文件進行使用查看

1.3 dex2jar-2.0.zip
作用:將apk反編譯成java源碼(classes.dex轉(zhuǎn)化成jar文件)

1.4 jd-gui-windows-1.4.0.zip
作用:查看APK中classes.dex轉(zhuǎn)化成出的jar文件,即源碼文件

1.5 測試用的任意.apk安裝包: app-debug.apk

完整的如下圖所示:


tools.png

2 反編譯APK,可以查看資源文件和smali文件
2.1 打開cmd命令行,進入apktool.jar所在的目錄,輸入 java -jar apktool.jar,就可以看到相關的提示:

apktool 提示.png

2.2 輸入java -jar apktool.jar d app-debug.apk, 即可完成APK的反編譯:

apktool APK.png

2.3 進入app-debug目錄,就可以看到反編譯之后的文件:有manifest文件和res下的資源文件,還有smali文件(可理解為運行在JVM的語言):

反編譯之后的目錄.png

3 Apk反編譯得到Java源代碼
3.1 解壓dex2jar-2.0.zip和jd-gui-windows-1.4.0.zip

3.2 將 app-debug.apk中的classes.dex提取出來,并復制到dex2jar-2.0中:

classes dex.png

3.3 在命令行下定位到dex2jar.bat所在目錄,運行
d2j-dex2jar.bat classes.dex, 會生成對應的classes-dex2jar.jar

dex2jar.png

3.4 打開jd-gui工具,然后將生成的classes-dex2jar.jar文件拖進去,即可看見反編譯的文件:

java.png

參考:
http://blog.csdn.net/vipzjyno1/article/details/21039349/
http://www.lxweimin.com/p/e0661ff7d955

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容