Android逆向工程:如何正确使用dex2jar、jd-gui
## 一、JD-GUI 简介**为什么要用jd-gui?**
显示“.class”文件的Java源代码。
JD-GUI是一个独立的图形实用程序,显示“.class”文件的Java源代码。您可以使用JD-GUI浏览重建的源代码,以便即时访问方法和字段。
## 二、JD-GUI 安装
### 1.下载 JD-GUI
官方点击:http://jd.benow.ca/
### 2.安装 JD-GUI
解压 JD-GUI
用解压缩软件,解压JD-GUI:
## 三、JD-GUI 使用
### 1.使用 JD-GUI
**双击运行**
**将jar文件拖到工作区即可打开**
参考文献:
官方网站:http://jd.benow.ca/
## 四、dex2jar 简介
**为什么要用dex2jar?**
dex2jar顾名思义,dex文件2到jar文件,也就是将apk中的java源码编译生成的java字节码文件反编译成java源码,其中2的英文谐音为two,也就是 dex 到 jar,这样对于我们来说就能看到真实的程序啦。
dex2jar包含以下含义:
1. dex-reader旨在读取Dalvik可执行文件(.dex / .odex)格式。它具有与ASM类似的轻量级API。
2. dex-translator旨在执行转换作业。它读取dex-ir格式的dex指令,经过一些优化后,转换为ASM格式。
3. dex-translator使用的dex-ir,用于表示使用.class文件的dex指令dex-tools工具。
4. d2j-smali将dex反汇编为smali文件并从smali文件汇编dex。与smali / baksmali不同的实现,相同的语法,但我们支持类型desc“Lcom / dex2jar \ t \ u1234;”中的转义
5. dex-writer以与dex-reader相同的方式编写dex。
## 五、dex2jar 安装
### 1.下载 dex2jar
官方点击:https://sourceforge.net/projects/dex2jar/files/latest/download
点击开始下载按钮,等待下载完成。
### 2.安装 dex2jar
解压 dex2jar
用解压缩软件,解压dex2jar:
## 六、dex2jar 使用
### 1.解压 apk
解压 要反编译的apk:
将test.apk 改为 test.zip,并解压:
解压之后你将会得到以下文件:
### 2.使用 dex2jar
将要反编译的 dex 复制到 dex2jar-2.0 根目录:
### 3.运行 命令完成编译
打开dex2jar-2.0根目录,运行 cmd命令,输入以下:
```php
d2j-dex2jar.bat classes.dex
```
这时候我们就能看到 class啦,搞定。
参考文献:
官方网站:https://sourceforge.net/projects/dex2jar/
页:
[1]