1、背景介绍
在Android开发过程中,有时候,我们需要使用到破解和反编译。因为Android是基于Java语言的,在apk应用程序中,实际上是java语言的文件经过特殊处理,这里,我们可以使用以前Java上的一些文件,来反编译查看文件中的源码等信息。
2、修改后缀
Android中以.apk为文件结尾的文件,实际上是一个特殊格式的压缩文件,我们是可以直接使用.zip文件查看器查看的。我们这里,将一个apk文件改为rar文件,然后使用压缩文件查看工具打开。如下图所示:
3、解压rar文件
解压rar文件 ,得到其中的classes.dex文件,如下图所示:
4、转换文件
虽然我们说Android中运行的文件,实际上还是java文件,但是这里的.dex文件,还不能算是java文件,也不能使用java反编译工具查看。这里的.dex文件时经过特殊处理的,我们不能直接查看,需要使用特定的工具将之反编译一下,这里我们需要用到dex2jar 把dex文件转为jar文件。
4.1、解压dex2jar
解压dex2jar.bat,并且找到该文件所在的目录,如笔者计算机所示:
4.2、使用Dos命令
打开DOS命令行,进入dex2jar所在目录,运行 dex2jar.bat classes.dex 生成 classes_dex2jar.jar。如下图所示:
5、使用jd_gui
等我们将dex文件转换成为了jar文件之后,就可以使用java世界中的反编译查看工具jd_gui查看jar文件反编译得到的java文件了。笔者所反编译的代码如下图所示:
6、下载地址
这里主要使用到了dex2jar工具和jd_gui两个工具,其下载地址为:
dex2jar下载地址
Jd-gui下载地址