code学习

Android APK文件反编译Android APK文件反编译

Android APK文件反编译

工具

主要使用以下三个工具,可以到主页上进行下载。

  • apktool (用于解码资源文件)  https://ibotpeaches.github.io/Apktool/
  • dex2jar(获取源码文件) https://sourceforge.net/projects/dex2jar/
  • jd-gui (查看源码) http://jd.benow.ca/

    自己的百度网盘分析:http://pan.baidu.com/s/1c17cw60

使用apktool解码资源文件(AndroidManifest.xml,res目录)

  1. 在apktool的主页上下载工具的jar包,并更名为apktool.jar。(如从apktool_2.2.2.jar改为apktool.jar)。
  2. 待反编译apk文件(如test.apk)放到同一目录下。
  3. 在上述目录处打开命令行。输入以下命令即可解码。

    也可以写一个apktool.bat文件(windows环境下)。内容为

    @echo off
    if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
    set PATH=%CD%;%PATH_BASE%;
    java -jar -Duser.language=en "%~dp0\apktool.jar" %*
               
    然后使用以下命令解码。

    使用dex2jar反编译

    1. 下载dex2jar软件压缩包(如dex2jar-2.0.rar)并解压。
    2. 使用解压缩软件打开test.apk,解压得到其中的classes.dex文件,放入dex2jar的目录中。
    3. 在上述目录处打开命令行。输入以下命令可转换为classes-dex2jar.jar文件。

    使用jd-gui对classes-dex2jar.jar文件进行源码查看。