Android(APK)反编译

一、准备必要工具

  感觉一个人默默的开发是一件很头疼的事情,开发的过程中难免遇到一些没有接触过的新东西,所以我觉得作为一个开发人员反编译还是有必要掌握的,说不定就有用上的时候。

1.1、使用工具

  1. apktool (主要作用是资源文件获取) 
  2. dex2jar(主要作用是源码文件获取)
  3. jd-gui  (主要作用是源码查看)

1.2、工具介绍

  apktool  作用:apk资源文件的获取,主要用于提取出图片文件以及对布局文件进行使用查看

  dex2jar  作用:将apk反编译成java源码(即classes.dex转化成jar文件)

  jd-gui 作用:查看源码文件,APK中classes.dex转化成出的jar文件

1.3工具下载

  apktool下载地址:https://bitbucket.org/iBotPeaches/apktool/downloads

  dex2jar下载地址:http://sourceforge.net/projects/dex2jar/files/

        jd-gui下载地址:http://jd.benow.ca/

        (为了方便强烈建议以上工具保存到同一个文件夹下面建议文件或者路径不要包含中文)

二、Apk反编译流程

        进入CMD命令行


反编译成功后,会在当前目录下生成一个新文件夹

打开这个文件夹,就可以看到反编译后的生成的文件




 生成的文件和文件夹当中,我们关心的是【res】文件夹中和AndroidManifest.xml文件,打开res文件夹,里面就有我们想要看到的东西了。以上就是使用apktool这个工具将一个apk反编译得到图片、XML配置、语言资源等文件的过程。


2.2、使用dex2jar反编译apk得到Java源代码

  将要反编译的APK后缀名改为.rar或者 .zip,并解压,得到其中的classes.dex文件

 将获取到的classes.dex放到之前解压出来的工具【dex2jar-2.0】文件夹内



在命令行下定位到dex2jar-2.0所在目录,输入"d2j-dex2jar classes.dex"


命令执行完成之后,在当前目录下就可以看到生成的Jar文件了


反编译classes.dex得到classes-dex2jar.jar文件之后

使用jd-gui工具打开classes-dex2jar.jar就可以看到源代码了


到此反编译工作已经做完。


猜你喜欢

转载自blog.csdn.net/niu9799/article/details/80512419