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

末蓝、 2022-05-24 08:11 441阅读 0赞

前言:

在开发过程,反编译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反编译工具包。


资源参考:

  • Android安全攻防战: https://blog.csdn.net/guolin_blog/article/details/49738023

发表评论

表情:
评论列表 (有 0 条评论,441人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Android编译

    1. 安卓逆向助手 有一款叫安卓逆向助手软件反编译apk 十分方便。这里给大家介绍的反编译方法就是基于这款软件的。[安卓逆向助手下载地址][Link 1] Androi

    相关 Android 防止编译

    作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。 Google似乎也发现了这个问题,从SDK2.3开始我们可