(轉載)反編譯android的apk檔案步驟

來源:互聯網
上載者:User

標籤:

下面的方法我已經嘗試過,完全可以成功,重點的步驟我在這裡說一下

1.必須要有java環境,記得配置好環境變數

2.如果只查看class中的函數檔案,只需要下載dex2jar和jd-gui

3.

dex2jar:http://code.google.com/p/dex2jar/downloads/list

jd-gui:http://dl.iteye.com/topics/download/b99d0351-87d8-3ed1-a875-441e0eea0ce4

 

相信很多開發人員都知道反編譯APK,正常情況下,如果我們想要看看xml,看看java原始碼,是看不了的。用壓縮公用程式解壓apk得到的檔案也都是二進位檔案,開啟後全是亂碼。

    開發人員能夠用的也僅僅是圖片資源,這往往也滿足不了開發人員的需求。

    下面我就給大家詳細講解一下Android-apk的反編譯步驟:

    注意:反編譯的前提是:開發人員沒有使用proguard(java代碼混淆的工具)。

   1.下載反編譯工具

    需要下載四個工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot

    dex2jar:將apk中的classes.dex轉化成Jar檔案。

    JD-GUI:反編譯工具,可以直接查看Jar包的原始碼。

    apktool:反編譯工具,通過反編譯APK中XML檔案,直接可以查看。

    apktool-install-windows-r05-ibot:輔助windows批處理工具。

    :

    dex2jar:http://code.google.com/p/dex2jar/downloads/list

    JD-GUI:http://code.google.com/p/innlab/downloads/lis

    apktool:http://code.google.com/p/android-apktool/downloads/list

    工具:

    2.解壓縮APK包

    apk檔案也是一種常見的zip,常用的壓縮軟體就可輕鬆地解壓apk檔案。用壓縮軟體將apk檔案中的檔案解壓到一個檔案夾中,得到APK中的資源套件括 XML檔案和classes.dex檔案,classes.dex就是java檔案編譯再通過dx工具打包而成的。

    解壓:

    3.反編譯dex檔案

    解壓apk檔案後,你會發現res目錄的圖片沒有加密,但java源碼編譯成了一個classes.dex檔案,無法用普通的反編譯class檔案的方法來處理,dex2jar可以將dex檔案轉換成普通的jar包。

    解壓下載的dex2jar,把解壓後的檔案夾放到系統硬碟跟目錄中並把這個目錄加到系統path變數中,就可以直接用:dex2jar.bat或dex2jar.sh轉換dex檔案了。

    DOS行命令如下:dex2jar.bat  xx\classes.dex(xx是classes.dex檔案所在的路徑)。

    將在同目錄得到普通jar包:classes_dex2jar.jar,就可以用處理普通jar包的方法來反編譯這個jar包得到原檔案。

    編譯:

   產生jar檔案的如下:

    4.反編譯jar包

    得到jar包後,下載自已喜歡的反編譯工具,推薦使用JD-GUI,有比較簡單的圖形介面,可以反編譯單個class檔案,也可以反編譯jar包,比較方便。

    開啟壓縮檔JD-GUI,運行jd-gui.exe,開啟上面產生的jar包,即可看到原始碼了。

    如下:

    5.反編譯xml檔案

    開啟解壓的res\layout目錄,有很多xml檔案,如果你想看下作者是如何設計介面的,你會很失望,因為你看到的是一大堆亂碼!這個時候我們需要用到的是apktool。

    具體操作方法:將下載的apktool和apktool-install-windows-r05-ibot兩個包解壓到同一個檔案夾下,這個檔案夾有三 個檔案:aapt.exe,apktool.bat,apktool.jar。把這個檔案夾也放到系統硬碟的根目錄中並把這個目錄加到path變數中。以 HelloWord.apk為例:

    在DOS命令列中輸入:apktool d xx\HelloWord.apk HelloWord得到HelloWord檔案夾,此檔案夾中的xml檔案就是編譯好的可以正常查看的檔案。

    如下:

   產生的檔案:

 這樣就得到了可以得到編譯的源碼和XML資源。

 注意:檔案的路徑中最好不要出現中文!

(轉載)反編譯android的apk檔案步驟

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.