方法

流程: test.apk -> smali文件 -> dex文件 -> jar文件 ->java 文件

将APK包解压为 smail文件

  1. 下载 apktool工具 apktool.jar
  2. 将 test.apk 和 apktool.jar放同一目录下,并执行以下命令
java -jar apktool.jar d -f xxx.apk -o xxx(解压目录)


Smali文件转为 dex文件

  1. 下载 smali工具 2.1.2版本,用 smali-2.1.2 因为高版本会解压失败

  2. 将smali.jar放入 xxx.apk的同目录,执行以下命令:

java -jar smali.jar apk的解压根目录/smali/ -o classes.dex


dex文件转为jar文件

  1. 下载 dex2jar工具压缩包,dex2jar压缩包, 并解压

  2. 将class.dex文件 拖进 dex-tools-v2.4目录里
  3. 进入dex-tools-v2.4目录中,执行以下命令,将dex文件转为jar文件
./d2j-dex2jar.sh ./classes.dex


解压 jar包为java文件即可

  1. 下载 JD-GUI工具,将其放到jar包同一目录下,JD-GUI, 执行以下命令:
java jar jd-gui.jar xxx.jar

这些就是反编译后的java文件,如果没有混淆的话,可以较好阅读,如果混淆了,那么阅读起来将会十分困难。