反编译apk包是一个必须掌握的技能。本文重点就是介绍如何使用apktool对apk包进行反编译。
反编译过程需要使用到的工具有:apktool,dex2jar,jd-gui。三个工具可以自行网上下载,
1. 打开cmd,进入到apktool所在的目录下面,例如我的apktool的目录是:C:\Users\freeman.wu\Desktop\反编译工具
2.把要反编译的apk包扔到apktool同个目录中,就可以使用命令进行反编译apk了。 在cmd中键入命令:apktool.bat d -f [xxx.apk] [目标文件夹名];
例如我需要输入的命令是:apktool.bat d -f 2421_0244_5.5.0_release1_Android.apk test 。
这里说明一下:2421_0244_5.5.0_release1_Android.apk这是我要反编译的apk,test是我反编译后所在的文件夹名。
正确键入命令之后,可以看到下面的输出,那么说明成功了。
3.如果需要把apk的dex转变成Java,那么我们可以使用dex2jar和jd-gui来处理。首先,需要把目标apk的后缀名改成.zip,然后解压缩,拿到里面的classes.dex文件。
4.把拿到的classes.dex文件扔到与dex2jar同个目录下面。例如:我的dex2jar目录是:C:\Users\freeman.wu\Desktop\反编译工具\dex2jar-0.0.9.15
5.cmd定位到dex2jar目录下,然后执行命令:d2j-dex2jar classes.dex ;如果出现以下输出,那就说明成功了。
6.我们可以在dex2jar的目录中看到,生成了classes.jar文件,拿到这个文件,直接打开jd-gui,把这个文件扔到jd-gui中,就可以看到对应的Java代码了。当然,如果你的apk包是混淆过的话,那你看到的Java代码也就是混淆的了。
至此,反编译apk包的操作全部完成。