使用工具
- apktool (资源文件获取)
- dex2jar(源码文件获取)
- jd-gui (源码查看)
工具介绍
apktool
作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看
dex2jar
作用:将apk反编译成java源码(classes.dex转化成jar文件)
jd-gui
作用:查看APK中classes.dex转化成出的jar文件,即源码文件
工具下载
apktool下载地址:iBotPeaches / Apktool / Downloads — Bitbucket
dex2jar下载地址:dex2jar - Browse Files at SourceForge.net
jd-gui下载地址:Java Decompiler
Apk反编译流程
为了方便进行反编译,我们将上述下载好的3个工具统一放到一个文件夹中,
然后将【dex2jar-2.0.zip】和【jd-gui-windows-1.3.0.zip】分别解压到当前文件夹
进入CMD命令行
切换到上述的3个工具的所在目录
1:接下来我们要做的就是运行apktool_2.0.1.jar这个jar文件来将apk文件进行反编译,在java中,运行可执行jar包的命令是:
2:java -jar apktool_2.6.0.jar使用如下的命令运行apktool_2.0.1.jar反编译MMTS-release-1.0.2.apk
java -jar apktool_2.6.0.jar d -f D:\demo\YouguwebA59.apk -o MMTS
MMTS在反编译的文件夹中,。这个文件夹的名字是可以随便取的,喜欢叫啥都行。
生成的文件和文件夹当中,我们关心的是【res】文件夹中和AndroidManifest.xml文件,打开res文件夹,里面就有我们想要看到的东西了,如下图所示:
使用dex2jar反编译apk得到Java源代码
将要反编译的APK后缀名改为.rar或者 .zip,并解压,得到其中的classes.dex文件(它就是java文件编译再通过dx工具打包而成的),
将获取到的classes.dex放到之前解压出来的工具【dex2jar-2.0】文件夹内
在命令行切换到 dex2jar.bat所在目录 cd:E:\fby\dex2jar-2.0,输入"d2j-dex2jar classes.dex",效果如下:
命令执行完成之后,在当前目录下就可以看到生成的Jar文件了
反编译classes.dex得到classes-dex2jar.jar文件之后,就可以使用【jd-gui】工具将class文件反编译成java源代码了
打开jd-gui.exe.然后拖拽classes-dex2jar.jar到界面中