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之后的版本 下载链接
希望能帮到各位。。。