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之后的版本 下载链接

希望能帮到各位。。。

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值