安卓-APK反編譯
阿新 • • 發佈:2018-11-14
當你遇到一個apk,你有可能會被它的畫面驚豔到,會迫不及待的想知道這些效果是怎樣實現的,於是就想到了反編譯。
通過反編譯,你得到了這個專案的原始碼,當然,如果這個apk經過了加密混淆處理,一些程式碼會用a,b,c命名,有的關鍵的東西會隱藏起來,你會很難看懂它的程式碼,不過也能從中獲取一些蛛絲馬跡,當然,一個安卓程式是別人辛勤勞動的成果,我們應該抱著學習借鑑的態度。
我這幾天研究反編譯是為了學習apk加密測試,下面是方法。
反編譯工具:
apktool:提取資原始檔(圖片檔案和佈局檔案)
dex2jar:將apk反編譯成java原始碼(classes.dex轉化成jar檔案)
jd-gui:檢視jar檔案,也就是檢視原始碼
這三個檔案可以到這裡下載,提取碼是4yda:點選這裡下載
反編譯方法:
將壓縮包解壓得到以上三個壓縮檔案
全部解壓
1.apk反編譯得到資原始檔(資料夾):
將需要反編譯的apk放在apktool資料夾中,開啟執行介面,定位到apktool資料夾,輸入命令:apktool.bat d -f2.APK反編譯得到原始碼:
將需要編譯的的apk程式設計壓縮包,即字尾名換成.rar或者.zip都可以,然後解壓,會得到一個classes.dex檔案(這個檔案就是java檔案編譯打包而 成的),把這個classes.dex檔案放到之前解壓出來的dex2jar-0.0.9.15資料夾內,執行介面定位到這個資料夾,輸入: dex2jar.bat classes.dex,然後在這個目錄下會生成一個classes_dex2jar.jar的檔案 用上面解壓的jd-gui.exe開啟工具開啟生成的classes_dex2jar.jar檔案,就可以看到原始碼了,效果如下: