工具介绍:
apktool
作用:资源文件获取,能够提取出图片文件和布局文件进行使用查看
dex2jar
作用:将apk反编译成java源代码(classes.dex转化成jar文件)
jd-gui
作用:查看APK中classes.dex转化成出的jar文件,即源代码文件
Apktool的下载及安装地址:
https://ibotpeaches.github.io/Apktool/install/(需要翻墙哦)
安装说明如下:
这里可以得到apktool.bat和apktool.jar两个文件。
aapt即Android Asset Packaging Tool,在SDK的build-tools目录下。
最新解析方法:
即下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat。apktool.jar 。将须要反编译的APK文件放到该文件夹下,
打开命令行界面(执行-CMD) ,定位到apktool目录。输入下面命令:apktool.bat d test.apk
会自动生成相应的文件夹如图:
dex2jar的下载地址:
https://github.com/pxb1988/dex2jar/releases
将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到当中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的)。将获取到的classes.dex放到之前解压出来的工具dex2jar 目录内,如图
在命令行下定位到到d2j-dex2jar.bat所在文件夹,输入d2j-dex2jar.bat classes.dex。效果例如以下:
在改文件夹下会生成一个classes_dex2jar.jar的文件,如图
然后打开工具jd-gui文件夹里的jd-gui.exe,
jd-gui的下载地址:
http://jd.benow.ca/
之后用该工具打开之前生成的classes_dex2jar.jar文件,便能够看到源代码了。效果例如以下:
被混淆过的效果图(类文件名以及里面的方法名称都会以a,b,c…之类的样式命名):
apptool、dex2jar和jd-gui一起的压缩包下载地址:
Android apk反编译工具集