Android反编译之APK(apktool、dex2jar、jd、jadx)

前言:
在开发过程,反编译apk也是常见的事情。 通常,是借鉴某些apk中某项功能的实现思路或者实现技术。
查看apk中资源和代码,常见的方式有以下几种:
apktool+dex2jar+jd
jadx(推举使用)
简单介绍以上几种工具:
dex2jar: 将dex文件转换成Jar包
jd-gui:将Jar包文件反编译成java源文件
apktool:查看二进制文件,资源文件和Androidmanifest.xml
jadx-gui :支持apk、dex、jar、zip、class、aar 文件
1. 使用apktool反编译apk的资源文件。
先准备好apktool,然后选择一个apk,拷贝到apktool同一个文件下,然后运行cmd。。这里以Broswer.apk为例子。输入命令行,apktool d Broswer.apk
运行命令行,效果如下图所示:
现在,可以查看到apk中的资源文件和androidmanifest.xml.
2. 使用dex2jar+jd反编译apk中的java代码。
先选择一个apk文件,修改后缀名改成zip,然后解压该压缩文件。这里,以为test.apk为例子,如下图所示:
找到压缩文件中class.dex,如下图所示:
拷贝class.dex到dex2jar工具目录下,如下图所示:
在dex2jar上输入命令行d2j-dex2jar class.dex
,运行命令行后,会生成class-dex2jar.jar,如下图所示:
找到jd工具,如下图所示:
查找到刚才生成class-dex2jar.jar,如下图所示:
打开后,效果如下:
3. 使用Jadx工具直接查看apk包含的资源和Java代码。
上面的两个步骤才能看到apk中文件和代码,有些繁琐。这里有一种更快的方式,直接使用Jadx来查看apk文件。
打开Jadx工具,可以看到支持打开的文件格式,如下图所示:
打开apk文件,如下图所示:
打开dex文件,如下图所示:
打开jar文件,如下图所示:
打开zip文件,如下图所示
若是感兴趣,可以点击下载,Android反编译工具包。
资源参考:




更多推荐
所有评论(0)