apk反編譯 (com.googlecode.d2j.DexException: not support version問題解決)

1,工具

       apktool  (反編譯apk得到資源文件res目錄下的layout/xml....)

       dex2jar  (反編譯classes.dex文件,得到用於jd-gui工具查看的.jar文件)

       jd-gui      (反編譯.class文件,得到java文件,如果有混淆,得到的java文件是a.b.c.d...文件名稱)

      下載鏈接:https://download.csdn.net/download/Visrul/11984365  (apktool、dex2jar、jd-gui)注意使用時先解壓

2,用命令行運行相應的指令(基於window系統)

       a>java -jar apktool_2.0.1.jar d -f xxx.apk -o newfile (xxx.apk爲當前目錄待反編譯的apk文件)

       運行完後會在當前目錄生成newfile的文件夾,裏面就是得到的資源文件(res)

       b>把待反編譯的.apk文件,重命名爲.zip(或者.rar),解壓文件,在目錄中會有一個classes.dex的文件。

       然後把得到的classes.dex文件放到dex2jar文件夾下 ,用cmd運行 d2j-dex2jar.bat classes.dex

 

 

       c> 用jd-gui工具打開上一步生成的.jar文件,查看java文件,保存整個目錄就能得到整個java文件。

 

備註:如果反編譯的時候出錯,大部分是由於工具版本較低導致的,用最新的版本工具反編譯。 我用的編譯版本如下:

下面粘下具體地址:

apktool下載地址:https://bitbucket.org/iBotPeaches/apktool/downloads

dex2jar下載地址:http://sourceforge.net/projects/dex2jar/files/

jd-gui下載地址:http://jd.benow.ca/

 

如果Android版本大於N需要更新dex2jar

//錯誤
com.googlecode.d2j.DexException: not support version.
        at com.googlecode.d2j.reader.DexFileReader.<init>(DexFileReader.java:151)
        at com.googlecode.d2j.reader.DexFileReader.<init>(DexFileReader.java:211)
        at com.googlecode.dex2jar.tools.Dex2jarCmd.doCommandLine(Dex2jarCmd.java:104)
        at com.googlecode.dex2jar.tools.BaseCmd.doMain(BaseCmd.java:288)
        at com.googlecode.dex2jar.tools.Dex2jarCmd.main(Dex2jarCmd.java:32)

Android N之前的版本 下載鏈接

Android N之後的版本 下載鏈接

希望能幫到各位。。。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章