apk文件反编译

最近正好在做Apk文件的反编译,今天整理出来分享给大家,如下:

1、 准备工具
1.1 apktool
作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看
1.2 dex2jar
作用将apk反编译成java源码(classes.dex转化成jar文件)
1.3 jd-gui
作用:查看APK中classes.dex转化成出的jar文件,即源码文件

以下是本人所选用的工具版本,具体用什么版本依照自己安装的java的jdk版本确定
本人jdk版本:
apk文件反编译_第1张图片
apk文件反编译_第2张图片
注意:版本达不到的话,会出现各种错误,会大大影响工作的进度。
2.反编译流程
2.1将apktool文件解压,如图:
在这里插入图片描述
有些网站可能会说解压得到三个文件分别是aapt.exe,apktool.bat,apktool.jar
,这里怎么才有两个,其实两个也不会影响编译的进行。
2.2打开命令行界面(运行-CMD) ,定位到apktool文件夹所在位置,输入以下命令:apktool.bat d -f AccountMS.apk

apk文件反编译_第3张图片
apk文件反编译_第4张图片
apk文件反编译_第5张图片
2.3打开AccountMS1文件如图:
apk文件反编译_第6张图片
2.4生成的文件和文件夹当中,我们关心的是【res】文件夹中和AndroidManifest.xml文件,打开res文件夹,里面就有我们想要看到的东西了,如下图所示:
apk文件反编译_第7张图片
这里不再一一打开。

2.5打开解压后的文件如图:
apk文件反编译_第8张图片
到这里不知道大家有没有发现反编译得到的文件,与解压后得到的文件之间的区别,有兴趣的同学可以观察一下。

apk文件反编译_第9张图片
apk文件反编译_第10张图片
2.6在解压文件中得到其中的classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的classes.dex放到之前解压出来的工具dex2jar-2.0文件夹内。

2.7、在命令行下定位到dex2jar-2.0.bat所在目录,输入dex2jar-2.0.bat classes.dex,效果如下:
apk文件反编译_第11张图片
此时的文件夹中已经出现新的文件。

apk文件反编译_第12张图片

3、反编译classes.dex得到classes-dex2jar.jar文件之后,就可以使用【jd-gui】工具将class文件反编译成java源代码了
3.1、启动jd-gui工具,如图:

apk文件反编译_第13张图片
apk文件反编译_第14张图片
3.2、打开刚才得到的classes-dex2jar.jar文件,如图:
apk文件反编译_第15张图片

之后就得到你想要的java源代码
apk文件反编译_第16张图片
到此apk反编译得到java源文件到此结束了。请大家批评指正,谢谢!!!

你可能感兴趣的:(android)