1、什麼是反編譯?
我們編寫源程序經過編譯變成可執行文件,反編譯就是其逆過程。
2、為什麼要需要研究反編譯?
在小公司開發中,偶爾就只有1-2個人獨立面對一個項目。碰到問題後,可能你身邊沒有什麼技術大牛,這時運用反編譯,可以研究一個實現類似功能程序的源代碼,吸取別人的編程思路和經驗,提高自己的編程能力 。
這邊特別聲明,告訴你這個方法純粹是為了學習編程技術,而不是教你盜版別人的軟體。
2反編譯三件套
我們反編譯需要用到的三種工具apktool 、dex2jar、jd-gui ,如下圖所示

apktool工具:獲取我們需要反編譯APK文件資源文件(圖片和布局文件)。
dex2jar工具:將APK反編譯成源代碼 。
jd-gui工具:查看APK中源代碼文件 。
3、如何對APK進行反編譯和查看源碼
- 先把要反編譯的apk放在apktool文件夾中,用命令行打開,輸入如下指令:apktool d xxx.apk

反編譯完成後,在apktool中會新出現一個新的文件夾,名字跟apk的名字一樣的文件夾,這個文件夾中,有我們需要的布局文件和圖片資源文件。具體文件夾如下圖所示:

2.接下來介紹我們的第二個工具dex2jar的使用。首先我們需要將要反編譯的APK後綴名改為 .zip,然後解壓開來,解壓開來文件夾的目錄結構如下圖:

這時我們會看到解壓開來會有一個classes.dex文件,然後把這個文件放在dex2jar 文件夾的目錄下,跟 dex2jar.bat同一級目錄下。然後命令行定位到該層目錄下,輸入指令 dex2jar.bat classes.dex

看到上圖後,我們會看到目錄底下會生成一個classes_dex2jar.jar的文件,如下圖所示:

3.最後介紹我們的第三個工具jd-gui的使用。這個非常簡單,只是一個代碼查看工具。打開這個jd-gui工具後,把上一步生成的classes_dex2jar.jar文件拖進來就大功告成了,就是這麼簡單。我們會看到如下圖所示的apk的源代碼,如果大家有接觸Google源碼,就會知道我這次反編譯的apk代碼就是Google原生的瀏覽器Browser源碼。

4獲取反編譯工具方式
方式一:
http://download.csdn.net/download/liliangpin/10018114

方式二:【程序IT圈】對答:反編譯,獲得反編譯工具。如下圖所示:

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/273616.html
微信掃一掃
支付寶掃一掃