天天看點

安卓APK反編譯與混淆編譯反編譯

反編譯

反編譯别人寫好的APK是一件很不道德的事!

1.下載下傳工具(本人資源提供)

2.拿到一個APK,将該APK的字尾名.apk改為.zip(也就是壓縮包格式),如圖

安卓APK反編譯與混淆編譯反編譯
安卓APK反編譯與混淆編譯反編譯

3.解壓出壓縮包會得到項目的  res(布局 view 及圖檔) 以及  注冊檔案Androidmanifast,如圖:

安卓APK反編譯與混淆編譯反編譯

4。這時,APK項目中除了class類檔案之外,其他的檔案都可以以這種最簡單明了的方式得到。下一步,注意看上方圖檔中倒數第二個檔案classes.dex檔案,看檔案大小會發現398.28KB,是除了res檔案之外最大的一個檔案,無需多說必然是存儲class類的檔案,.dex檔案是java源碼經過ADT編譯産生的檔案,該檔案可以在虛拟機上直接運作,是以下一步我們需要反編譯的檔案就是該.dex檔案,故此将classes.dex檔案提取出來進行反編譯,如圖:

安卓APK反編譯與混淆編譯反編譯

5.将classes.dex檔案放入反編譯檔案中的dex2jar-0.0.7.11-SNAPSHOT檔案中,如圖:

安卓APK反編譯與混淆編譯反編譯
安卓APK反編譯與混淆編譯反編譯

6.打開cmd進入上面這幅圖的路徑,輸入dex2jar.bat   classes.dex(打開上面圖的txt檔案複制也行),如圖:

安卓APK反編譯與混淆編譯反編譯

7.cmd運作後會在目錄下自動生成classes_dex2jar.jar檔案,如圖:

安卓APK反編譯與混淆編譯反編譯

8.用jd-gui.exe程式打開classes_dex2jar.jar(大家注意這個工具可以打開jar包,同理v4 v7等架構都可以打開)

安卓APK反編譯與混淆編譯反編譯

反編譯成功!