1. 程式人生 > >反編譯利器Apktool和Dex2jar匯入原始碼以及編譯除錯

反編譯利器Apktool和Dex2jar匯入原始碼以及編譯除錯

   0x01 Apktool原始碼下載與匯入

    1.1 apktool原始碼下載

   1.2 匯入

    開啟Android Studio,選擇Open an existing Android Studio project,選擇Apktool資料夾匯入。

0x02 編譯並除錯Apktool原始碼

    2.1 編譯

    在Android Studio下面的Terminal中輸入./gradlew build fatJar,即可編譯成功。生成的jar包位於Apktool/brut.apktool/apktool-cli/build/libs/apktool-cli.jar。這個jar包就是我們經常用的apktool.jar。

    2.2 除錯

    

    2.2.1 首先進入這個目錄下,在main函式處下斷點。點選右鍵Debug Main.main。


    此時Debug執行的結果是錯誤的,目的是生成Edit Configurations,如下圖:

    

    2.2.2 點選Edit Configurations,點選左上角的+號,建立Jar Application。

    

    2.2.3 編輯Jar Application,來除錯jar包。


    Path to JAR選擇Apktool/brut.apktool/apktool-cli/build/libs/apktool-cli.jar,Program arguments選擇要除錯的apk。

    2.2.4 點選debug apktool,即可以停留在Main.main下的斷點處。

    

   0x03 Dex2jar原始碼下載與匯入

    3.1 Dex2jar原始碼下載

    3.2 匯入

    開啟Android Studio,選擇Open an existing Android Studio project,選擇Dex2jar資料夾匯入。    

   0x04 編譯Dex2jar原始碼

    在Android Studio下面的Terminal中輸入./gradlew build,即可編譯成功。生成的可以使用的包位於dex-tools/build/distributions/dex-tools-2.1-SNAPSHOT.zip

    

    解壓這個zip包,如下:

    

    有沒有很熟悉,這就是我們經常使用的dex2jar指令碼,這樣我們可以隨時使用最新版的dex2jar。