Android 应用反编译方法
所需工具
apktool 、dex2jar、jd-gui
工具介绍
-
apktool
获取资源文件,可以查看图片以及xml布局 -
dex2jar
获取java源码,也就是将 classes.dex 转化成jar文件 -
jd-gui
查看源码,即查看通过 dex2jar 得到的 jar 文件
资源下载链接:https://download.csdn.net/download/qq_39821816/10819640
压缩包中包含所需三个工具,可直接解压使用
获取资源文件
定位到apktool.jar所在的文件目录,同时将源apk也放在这个目录中。
例如:源apk为 test.apk,对该apk进行反编译:命令
Java -jar apktool.jar d -f -s test.apk -o test
执行完毕后会在同级目录生成一个 test 文件夹,可查看资源文件
获取源码
将要反编译的APK后缀名改为 .rar或则 .zip,解压
得到其中的 classes.dex 文件(是java文件编译再通过dex工具打包而成的)
将获取到的 classes.dex 放到之前解压出来的工具 dex2jar-0.0.9.15 文件夹内
在命令行下定位到 dex2jar.bat 所在目录,命令
d2j-dex2jar.bat classes.dex
(或者有一种简单的方式,直接将 classes.dex 文件拖到 dex2jar.bat ,也可以得到 jar文件)
在该目录下会生成一个classes_dex2jar.jar的文件
classes_dex2jar.jar 即我们需要的源码文件
可以使用工具 jd-gui 打开,查看源码内容(代码一般都会被混淆,以a,b,c…方式命名)
jd-gui-1.4.0.jar 打开方式 右键—>打开方式—> Java™ Platform SE binary