Android dex ,xml 檔案反編譯方法

來源:互聯網
上載者:User

Dex 檔案是Android上運行於delvik的java二進位檔案,如果你對其中的內容感興趣而開發人員沒有公布原始碼,你可以用如下方法反編譯dex檔案:

    1 解壓system.img

    用xyaffs2解壓system.img 等你所需要解壓的img檔案:

    xyaffs2 img_file output_dir

    xyaffs2可以從如下地址下載:

    http://limodev.cn/download/xyaffs.tar.gz

    2 從輸出目錄找到你感興趣的apk包,用unzip解壓apk檔案包:

    unzip ContactsProvider.apk

    3 用dex2jar工具將解壓後的檔案夾中的classes.dex轉換成jar檔案:

    dex2jar.sh classes.dex

    或者

    dex2jar.bat classes.dex

    dex2jar的如下:

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

    非常感謝這個工具的作者 "pxb1988",我不知道作者的全名,就寫了作者的網名了。

    4 用unzip解壓jar檔案:

    unzip classes.dex.dex2jar.jar

    5 用DJ java decompiler 反編譯jar包中的class檔案

    DJ一般有圖形化介面,操作很簡單,可以單個檔案反編譯,也可以批量反編譯。DJ的如下:

    http://members.fortunecity.com/neshkov/dj.html

    在批量反編譯時間,注意將輸出檔案尾碼改為java,預設的輸出檔案尾碼為jad。

    6 用AXMLPrinter反編譯xml檔案:

    java -jar AXMLPrinter2.jar AndroidManifest.xml AndroidManifest2.xml 

    AXMLPrinter的如下:

    http://android4me.googlecode.com/files/AXMLPrinter2.jar

    最後,感謝以上開源軟體的開發人員,他們的努力工作使android的反編譯容易了很多,而且反編譯出來的代碼可讀性很高。再次感謝!

本文章轉載自 http://www.cnitblog.com/houcy/archive/2011/01/27/72731.aspx  ,感謝網友的這篇文章,反編譯別人寫的軟體可以學習別人的長處,但是要尊重人家的成果,不要用於商業用途。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.