Android apk反編譯

前言:Apk反編譯,即 Apk包 -> 代碼 的一個逆向過程。如果對正向代碼 打包成apk不怎麼理解的,可以閱讀Apk打包流程(簡) :

https://blog.csdn.net/qq_30304193/article/details/81945488

一、反編譯工具介紹:

  作用 下載地址
apktool 獲取資源文件,資源文件獲取,可以提取出圖片文件和佈局文件進行使用查看

https://ibotpeaches.github.io/Apktool/install/

下載最新版本

dex2jar

獲取源碼文件,將apk反編譯成java源碼(classes.dex 轉化爲jar文件)。實際上是一個.dex->.class過程

官網:https://sourceforge.net/projects/dex2jar/

直接點擊下載即可

jd-gui 源碼查看,查看apk中classes.dex轉化成的jar文件。.class->.java過程

官網:http://jd.benow.ca/

 如windows的選擇如下下載

二、反編譯工具的使用

反編譯過程,就是使用apktool查看apk的資源文件、dex2jar+jd-gui查看apk的源碼的過程。

apktool查看apk的資源文件(如果直接解壓.apk文件,xml文件打開全部是亂碼):

1、下載apktool

進入官網 界面如下:

注意:上圖下載2的apktool時,一般會是apktool_2.x.x.jar的,下載後重命名爲apktool.jar(這裏不需要解壓)

下載好後得到兩個文件如下:

2、把上步驟下載好的兩個文件放入到:C:\Windows 目錄下。

3、運行cmd,進入到你需要反編譯的apk目錄,然後輸入命令:apktool d app-official-release.apk(apktool d 你的apk名稱)

輸入命令(我這裏存放apk目錄是: C:\Users\dell\Desktop\123 ,apk名稱是:app-official-release.apk):

運行結果:

注意:第2步很重要,否則無法反編譯,會報如下錯誤。

dex2jar+jd-gui查看apk的源碼:

1、將APK文件的後綴改爲.zip,然後解壓,從解壓的文件中找到classes.dex文件,並將其放入dex2jar同一目錄下,如下:

放入 dex2jar同一目錄,這裏是在C:\Users\dell\Desktop\反編譯\dex2jar-2.0 下:

2、cmd中也進入到同樣的目錄,然後輸入命令:d2j-dex2jar.bat classes.dex,即完成了.dex ->.class過程。

注意:d2j-dex2jar.bat是解壓工具dex2jar後的批處理文件名,如上步驟圖的紅線部分。因爲有得下載的工具解壓後不是這個名字。

生成classes-dex2jar.jar如下:

3、運行jd-gui.exe查看反編譯後的源碼文件:

選擇上步驟生成的"classes-dex2jar.jar"文件:

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