1. 程式人生 > >Android應用反編譯詳細流程(Mac系統)

Android應用反編譯詳細流程(Mac系統)

新版Android應用反編譯詳細流程(Mac系統)

以前一直都是用win來反編譯,後來換了Mac就一直沒弄過了,今天剛好有需要,正好也做個筆記,留著以後備用。

其實現在大多數應用都會做一些防護,下面這種方式,只適用於一般的沒做加固處理的apk。

現在開始吧,首先你需要準備好必備的軟體

  1. apktool 反編譯後,提取一些資原始檔,清單檔案什麼的
    地址傳送門
  2. dex2jar dex檔案轉換為jar檔案
    地址傳送門
  3. jd-gui 檢視jar檔案用的
    地址傳送門

其實反編譯並沒有過多的內容,主要的時間都是花在環境的搭建上。如果你只是用一次的話,其實也不用過於花費時間去配置。(不知道為啥大家的文章基本都寫了配置到環境變數中,應該是為了一勞永逸。)

如果你需要檢視資原始檔的話就需要配置apktool的環境,如果你只是要檢視應用的程式碼直接逆向classes.dex檔案就可以了,按自己的需要去配置相關工具。

配置apktool的步驟:

在使用apktool之前,你需要有jdk環境,這個很重要

1.將apktool檔案的路徑配置到環境變數中,為了更方便的使用apktool來進行逆向操作。如果你懶得配置,你也可以直接進入到apktool.jar所在的的目錄下執行命令:

bogon:apktool dongfang$ apktool d /Users/dongfang/Downloads/com.xxxx.apk

這樣就會對應生成一個和包名近似一致資料夾,裡面有資原始檔,如:xml、AndroidManifest.xml等檔案。

在這裡插入圖片描述

以上就是逆向完成了,對生成的資料夾還可以在重新打包成apk,但是不建議這樣做。


使用dex2jar步驟:

1.首先你需要先把apk中dex檔案提取出來,放到dex2jar資料夾內。(如果不放到根目錄的話,就要寫全路徑)

2.執行一個命令就可以了。

sh d2j-dex2jar.sh classes.dex

在這裡插入圖片描述

然後就會生成一個jar檔案了,檔名是classes-dex2jar.jar


使用jd-gui來檢視jar的步驟:

1.直接將上面生成的jar檔案拖進來就可以了啊。

還是把我下載的一個包留下吧。

地址傳送門