写这篇反编译,只是让大家了解一下反编译工具如何使用,已一颗学习的心态去了解它,而不是去反编译别人的代码,窃取别人的劳动果实,毕竟google出来了这个工具,大家也一起学习一下。
在反编译的过程中,主要用到了三个工具,google官方都有提供。
1:Apktool:用来反编译apk的资源文件
2:dex2jar:用来将android的dex文件反编译成jar文件
3:jd-gui:用来将反编译出来的jar文件打开,让我们看到class文件,java源码
下载地址:
打开地址之后就会看到这个界面:我们只需下载前三个
接下来介绍具体的使用方法
1.dex2jar的使用
一般我们将apk文件解压后有两部分文件需要处理,一种是xml文件,另一种一个dex文件(.dex),
我们可以从.dex文件中得到jar,
首先我们先将我们需要反编译的apk文件的后缀名改为.zip,然后将它解压,解压后我们会得到一个classes.dex文件,我们可以从这个文件中得到我们想要的源码文件。
然后就是我们使用dex2jar来反编译这个文件,得到我们的源码
首先打开dex2jar文件,我们找到如下的目录中会有一个dex2jar.bat
在该目录下我们打开dos窗口,并将我们的classes.dex文件放到里面,然后我们在dos下执行dex2jar.bat classes.dex
2.jd-gui的使用:
通过上面的命令我们会得到一个文件classes.dex.dex2jar.jar,上图中也给出来了,接下来我们双击打开jd-gui,然后将这个文件打开,就可以看到源码了。
利用后者再得到大家垂涎已久的java文件。
3. apktool的使用
工具可以把APK包中的乱码xml编译成明文源码。
同样打开dos窗口,执行apktool的命令运行
apktool d 111.apk 111 把111.apk反汇编到当前目录下111目录
不过一般我们也不需要反汇编xml文件。
这就是反编译工具的简答介绍,网上还有许多比较详细的,我只是跟据我平时的用法把它的步骤简单介绍了一下,毕竟只是一个工具,没有什么难度。希望大家能一起学习下。