1. 程式人生 > >使用apktool等工具反編譯apk包

使用apktool等工具反編譯apk包

反編譯apk包是一個必須掌握的技能。本文重點就是介紹如何使用apktool對apk包進行反編譯。

反編譯過程需要使用到的工具有:apktool,dex2jar,jd-gui。三個工具可以自行網上下載,

1. 開啟cmd,進入到apktool所在的目錄下面,例如我的apktool的目錄是:C:\Users\freeman.wu\Desktop\反編譯工具


2.把要反編譯的apk包扔到apktool同個目錄中,就可以使用命令進行反編譯apk了。 在cmd中鍵入命令:apktool.bat d -f  [xxx.apk]  [目標資料夾名];

例如我需要輸入的命令是:apktool.bat d -f 2421_0244_5.5.0_release1_Android.apk test 。

這裡說明一下:2421_0244_5.5.0_release1_Android.apk這是我要反編譯的apk,test是我反編譯後所在的資料夾名。

正確鍵入命令之後,可以看到下面的輸出,那麼說明成功了。

3.如果需要把apk的dex轉變成Java,那麼我們可以使用dex2jar和jd-gui來處理。首先,需要把目標apk的字尾名改成.zip,然後解壓縮,拿到裡面的classes.dex檔案。

4.把拿到的classes.dex檔案扔到與dex2jar同個目錄下面。例如:我的dex2jar目錄是:C:\Users\freeman.wu\Desktop\反編譯工具\dex2jar-0.0.9.15

5.cmd定位到dex2jar目錄下,然後執行命令:d2j-dex2jar classes.dex ;如果出現以下輸出,那就說明成功了。


6.我們可以在dex2jar的目錄中看到,生成了classes.jar檔案,拿到這個檔案,直接開啟jd-gui,把這個檔案扔到jd-gui中,就可以看到對應的Java程式碼了。當然,如果你的apk包是混淆過的話,那你看到的Java程式碼也就是混淆的了。

至此,反編譯apk包的操作全部完成。