安装jadx

编译安装

1 git clone https://github.com/skylot/jadx.git
2 cd jadx
3 ./gradlew dist

然后将build/jadx/bin加入到环境变量。  链接 : https://www.jianshu.com/p/463244ec27

alias的作用是给命令起一个别的名字(作用的是命令)
export的作用是设置一个变量(作用的是变量)
这两个命令在bash中“=”两边都不能含有空格

export JADX_HOME=/Users/wz_mac/Desktop/jadx/build/jadx
export JADX_BIN=$JADX_HOME/bin
export PATH=$PATH:$JADX_BIN

开始反编译

等完毕后,可以开始了,我就介绍个最简单最常用的用法

  1. 把apk改成zip
  2. 解压zip获取class.dex文件
  3. 将classes.dex文件放到jadx目录下

使用jadx

jadx也有GUI,直接双击bin目录下的jadx-gui,然后选择要反编译的apk即可,运行效果如下

jadx_gui如果要保存源码,选择File->Save ALL即可保存文件,然后就可以导入Android Studio等IDE中。 我们也可以直接使用命令行反编译apk文件:

  1. jadx -d out classes.dex #直接输出.java文件到out目录
  2. jadx-gui classes.dex #使用gui打开

在反编译较大的apk时,如果遇到jadx-jui卡顿和假死的情况,可适当优化jvm相关参数, 我直接在~/.bash_profile中加上了如下语句:

  1. export JVM_ARGS="-Xmx4096m -XX:MaxPermSize=1024m"