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反编译工具包


资源参考:

猜你喜欢

转载自blog.csdn.net/hexingen/article/details/80425010