文章目录
- 一、反编译常用的工具
- 二、反编译工具的下载安装及使用
- 1. Apktool
- 下载
- 使用
- 2. dex2jar
- 下载
- 使用
- 3. jd-gui
- 下载
- 使用
一、反编译常用的工具
- Apktool
获取apk里的资源文件、配置文件、清单文件、lib文件夹下的so包等等 - dex2jar
将apk反编译成java源码,及dex文件转换成jar文件 - jd-gui
查看dex2jar反编译后的jar文件的可视化工具
二、反编译工具的下载安装及使用
1. Apktool
下载
下载地址:https://apktool.org/docs/install/
- 以Mac为例:
- 鼠标放在截图步骤一里的wrapper script上,右键选择链接存储为,然后命名为apktool(注意这个文件不要加任何后缀名)
- 下载apktool-2
- 将步骤二下载的jar名称改为apktool.jar
- 将上述步骤中下载的俩文件移动到/usr/local/bin文件夹下
- 设置这俩文件为可执行文件(chmod +x 文件名称)
// 在终端分别执行如下俩命令
chmod +x /usr/local/bin/apktool
chmod +x /usr/local/bin/apktool.jar
// 终端运行如下命令 如果有版本号即可成功
apktool -version
使用
使用cd命令进入到apk所在的目录,然后执行如下命令即可
// 会生成同名的文件夹
apktool d -r ***.apk
2. dex2jar
下载
下载地址:https://github.com/pxb1988/dex2jar/releases
下载完之后解压即可
使用
将apk后缀改成.zip,解压后会有classes.dex文件,将classes.dex文件放到dex2jar解压的文件夹里,执行如下命令,即可生成jar文件classes-dex2jar.jar
sh d2j-dex2jar.sh classes.dex
为了查看classes-dex2jar.jar文件源码,接下来我们需要jd-gui工具去打开
3. jd-gui
下载
下载地址:https://github.com/java-decompiler/jd-gui/releases
同样以Mac为例:
下载完解压后文件夹里有JD-GUI,双击打开即可使用。
使用
先确保环境安装了JDK
下载地址:https://www.oracle.com/java/technologies/downloads/#java8-mac
下载安装好,配置环境变量,并执行:source 生效
#java
JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home"
export JAVA_HOME
CLASS_PATH="$JAVA_HOME/lib"
PATH=".$PATH:$JAVA_HOME/bin"
执行java -version命令,查看版本
我这边安装的java11,JD-GUI 正常还是无法打开的,需要修改文件:
将JD-GUI.app/Contents/Info.plist文件中JVMVersion参数,1.8+修改为11。
然后再次打开,就可以正常使用了。
JD-GUI的使用:
直接将dex2jar生成的jar文件拖到JD-GUI里即可。