1. 程式人生 > >apk 反編譯 - 最新版圖文教程

apk 反編譯 - 最新版圖文教程

apk 反編譯 - 最新版圖文教程

結合網上眾多教程,整理一篇自己操作的,工具都是目前最新版 apk 反編譯也就是將打包後的 apk 反編譯為資原始檔(圖片)、layout、樣式、相關的實現程式碼等。(注:反編譯不是讓各位開發者去對一個應用破解搞重灌什麼的,主要目的是為了促進開發者學習,學習)

後續也會再整理一篇防止反編譯的教程

轉載請註明出處

一、準備工具

提示:這些工具在官網都不好下載,偶也是廢了好大力氣呢,建議直接下載我提供的網盤連結

(1) 使用工具介紹:

 1.apktool 最新版 jar 包
  作用:資原始檔獲取,可以提取出圖片檔案和佈局檔案進行使用檢視
  2.dex2 jar 的zip包


  作用:將apk反編譯成java原始碼(classes.dex轉化成jar檔案)
  3.jd-gui 工具
  作用:檢視APK中classes.dex轉化成出的jar檔案,即原始碼檔案

(2) 使用工具下載與安裝:

  1.apktool_2.3.4 jar 包(2018.10.31 目前最新版)
   百度網盤地址:https://pan.baidu.com/s/1Vp6PDUc9dfgN0QPtwFp4Zw 密碼:c8n3
   官網下載地址:https://bitbucket.org/iBotPeaches/apktool/downloads/

  2.dex2 2.0 jar 包(2018.10.31 目前最新版)
   百度網盤地址:https://pan.baidu.com/s/1yk5bVAMPYov66u23kxYAJw 密碼:irxv
   官網下載地址:http://sourceforge.net/projects/dex2jar/files/

  3.jd-gui 1.4.0(2018.10.31 目前最新版)
   百度網盤地址:https://pan.baidu.com/s/1ceirRfHzfiqcHFHGxj2fkA 密碼:mx14
   官網下載地址:

http://jd.benow.ca/

二、Apk 反編譯步驟

(1) 使用 apktool 反編譯 apk 得到圖片、XML配置、語言資源等檔案

 1.將上述下載好的 3 個工具統一放到一個資料夾中(目錄最好不好有中文),並解壓 zip 檔案,例如:

 2.開啟 cmd/終端,進入上述工具目錄

 3.執行apktool_2.3.4.jar這個jar檔案來將 apk檔案進行反編譯,在java中,執行可執行jar包的命令是:

java -jar apktool_2.3.4.jar d -f apk檔案絕對路徑 -o 輸出的目錄

例如: 使用如下的命令執行apktool_2.0.1.jar反編譯MMTS-release-1.0.2.apk

java -jar apktool_2.3.4.jar d -f D:\apkDecompile\ocrTest.apk -o source

這個命令是啟動 apktool_2.3.4.jar 將位於 D:\apkDecompile\ocrTest.apk 檔案執行反編譯,然後將反編譯生成的檔案存放到 apk 檔案同級的 source 目錄下,截圖:

 4.然後就會生成原始檔的目錄,有開發經驗的大概能看出點什麼

 5.重要的有【res】目錄和【AndroidManifest.xml】

以上就是使用 apktool 這個工具將一個 apk 反編譯得到圖片、XML配置、語言資源等檔案的過程

(2) 使用 dex2jar 反編譯 apk 得到 Jar 包

  將要反編譯的 APK 字尾名改為 .rar 或者 .zip,並解壓,得到其中的classes.dex 檔案(它就是java檔案編譯再通過dx工具打包而成的),如下圖所示:

 將獲取到的classes.dex放到之前解壓出來的工具【dex2jar-2.0】資料夾內,如下圖所示:

在命令列下進入到 dex2jar.bat 所在目錄,輸入"d2j-dex2jar classes.dex",截圖:

命令執行完成之後,在當前目錄下就可以看到生成的Jar檔案了,如下圖所示:

反編譯 classes.dex 得到 classes-dex2jar.jar 檔案之後,就可以使用【jd-gui】工具將 class 檔案反編譯成 java 原始碼了

(3) 使用 jd-gui.exe 工具將 class 檔案反編譯成 java 原始碼

 1.開啟 jd-gui.exe 程式(不需要安裝,之前 zip 包解壓即可)

 2.開啟 jar 檔案,截圖:

 3.選擇 class 檔案就可以看到 java 原始碼:

三、出錯提示:

如果那不出錯了,基本就是工具版本的問題,建議全部下載最新版或者全部使用我提供的版本

四、更多文章:


  • 轉載請註明出處