Dex2jar是一款非常实用的工具,实用能够帮助用户轻松操作操作Android的dalvik(.dex)文件格式和Java的(.class),他可以将.dex文件转换成Java的.class文件。Dex2jar包含了一个简单的API(与ASM相似) d2j-dex2jar,可与JD-GUI进行组合从而能够轻松快速的对apk进行反编译,无需安装,解压即可使用!
dex2jar介绍
dex2jar 是一个能操作Android的dalvik(.dex)文件格式和Java的(.class)的工具集合,包含以下几个功能
dex-reader/writer: 用于读写 Dalvik Executable (.dex) 文件格式. 包含一个简单的API(与ASM相似)
d2j-dex2jar: 执行dex到class的文件格式转换
smali/baksmali: 与smali工具功能一致,但是对中文更友好
其他工具: 字符串解密
dex2jar安装教程
将APK直接解压(修改后缀名为.zip,然后解压)后,可以看到目录下包含一个classes.dex文件。如下图所示,是一个APK文件解压后的到的:
若想要阅读该文件的内容,可以使用 dex2jar 和 jd-gui 工具。下面介绍这两种工具的安装及使用方法。
一、安装 dex2jar
下载之后解压即可。
二、使用 dex2jar
1. 将需要反编译的dex文件(这里是classes.dex)复制到 dex2jar 解压目录下。
2. 打开命令行进入 d2j-dex2jar.bat 文件所在目录,输入命令 d2j-dex2jar.bat classes.dex 。
此时可以看到目录中多出了classes-dex2jar.jar文件。
那么如何查看该jar文件的内容呢?此时就需要安装 jd-gui 。
三、安装 jd-gui
下载地址: http://jd.benow.ca/ 。
同样,下载之后解压即可。如图:
四、使用 jd-gui
双击运行 jd-gui.exe 文件,将jar文件拖到工作区即可打开。
使用教程
实例介绍:
dex2jar并没有一个可以运行的界面,相反,它只是一个进行文件转换的工具包而已,所以小编下面通过使用dex2jar和JD-GUI工具来向大家介绍dex2jar的用法。
1、首先需要保证您的电脑能够正常运行JD-GUI工具(前提是需要安装JAVA)
2、下载一个测试的apk文件,为了方便查找,小编将dex2jar 2.0,JD-GUI和APK文件放在了一个文件夹下,如下图所示:
2、将上面的APK文件改为.zip格式
3、解压test.zip,在目录中找到classes.dex文件,如下图;
4、将classes.dex文件拷贝到dex2jar的根目录下
5、打开电脑的命令提示符(CMD)窗口(在运行中输入CMD即可),使用cd指令进入到dex2jar工具存放的目录下,如图:
6、进入到dex2jar目录下后,输入“d2j-dex2jar.bat classes.dex”指令运行执行完毕
注意:这里d2j-dex2jar.bat可能会根据dex2jar的版本号而有所不同,所以用户需要看清楚文件名来运行,不然会出现错误!
7、再次打开dex2jar的根目录,我们会发现根目录下会出现一个classes.dex.dex2jar.jar的文件,如下图所示:
8、然后使用java反编译工具JD-GUI打开上面的classes.dex.dex2jar.jar文件,即可查看到TEST.APK文件的源码了。