Android 反编译 APK - chuwuwang/ReadingNote GitHub Wiki

apktool

java -jar apktool.jar d xxx.apk

// 注意 apktool.jar 是刚才下载后的jar的名称,d 参数表示decode
// 在这个命令后面还可以添加像 -o -s 之类的参数,例如
// java -jar apktool.jar d xxx.apk -o destiantionDir -s
// 几个主要的参数设置方法及其含义:
-f 如果目标文件夹已存在,强制删除现有文件夹
-o 指定反编译的目标文件夹的名称(默认会将文件输出到以Apk文件名命名的文件夹中)
-s 保留classes.dex文件(默认会将dex文件解码成smali文件)
-r 保留resources.arsc文件(默认会将resources.arsc解码成具体的资源文件)

dex2jar

// 使用dex2jar反编译java源码
d2j-dex2jar classes.dex

sh d2j-dex2jar.sh classes_FileZilla.dex

jd-gui