使用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包的操作全部完成。