工具准备
AndroidDecompiler(apktool、dex2jar)、jd-gui
反编译
反编译AndroidManifest.xml和资源文件
为了防止文件内容和位置混乱,最好新建一个目录来进行反编译操作(/users/username/downloads/test)具体依照个人习惯,然后将需要反编译的apk(以app-release.apk为例子)和AndroidDecompiler目录下的dex2jar均copy到相应的目录下.
再使用apktool反编译apk,可以获得AndroidManifest.xml和资源文件.
$ apktool d app-release.apk
执行完输出后,目录会新增一个app-release文件夹,里面有我们想要的res/和xml,到此资源文件已经反编译完成.
反编译java代码
1.先解压.apk文件
//解压app-release.apk到指定新建的app-release_source目录下
$ unzip app-release.apk -d app-release_source
2.反编译.dex文件
//在app-release_source目录下找到classes.dex并反编译为.class文件
$ sh dex2jar/d2j-dex2jar.sh app-release_source/classes.dex
3.使用jd-gui打开第二步编译出的classes-dex2jar.jar文件
OK此时各种变量已经被混淆,说明反编译成功