天天看点

Android APK反编译那点事

       在进行安卓开发时,有时候需要了解或获取第三方应用的代码结构、布局和样式文件、以及好的图片资源等。在不能直接得到源码的情况下,只能通过反编译技术来实现。下面就简单介绍下反编译APK文件的过程。

一:环境介绍

(1)android-apktool 1.5.2:GOOGLE提供的APK编译工具,能查看res目录下的图片和配置文件等资源。

(2)dex2jar-0.0.9.15:将apk中的classes.dex转化成jar文件。

二:查看APK内的资源文件

(1)通过地址http://code.google.com/p/android-apktool/ 下载 apktool1.5.2.tar.bz2 和 apktool-install-windows-r05-ibot.tar.bz2(根据操作系统自行选择)。

(2)在E盘创建文件夹apktool1.5.2(盘符和文件夹自行定义),把上步下载的两个压缩文件解压到此文件夹下,内容如下图:

Android APK反编译那点事

(3)拷贝需要反编译的APK文件(如 Test.apk)到 E:\apktool1.5.2 下。

(4)打开命令窗口(开始 -> 运行  输入cmd  回车)进入到apktool.bat的文件夹里,目前是 E:\apktool1.5.2。

(5)输入:apktool.bat d E:\apktool1.5.2\Test.apk  E:\apktool1.5.2\output,回车,操作步骤和结果详见下图。

      格式说明:apktool.bat d  apk文件路径    输出路径(最好是一个不存在的文件夹,它会自动创建)。

Android APK反编译那点事

(6)上述步骤完成后,即可在 E:\apktool1.5.2\output 路径出现反编译后的资源文件。

三:查看APK内的源代码

(1)下载dex2jar-0.0.9.15.zip,解压到某盘符根目录,例如  E:\dex2jar-0.0.9.15。

(2)把APK文件重名为ZIP文件并解压,把解压出的 classes.dex 文件拷贝到  E:\dex2jar-0.0.9.15 下。

(3)打开命令窗口(开始 -> 运行  输入cmd  回车)进入到dex2jar-0.0.9.15文件夹,目前是 E:\dex2jar-0.0.9.15。

(4)输入:dex2jar.bat classes.dex ,回车,详见下图:

Android APK反编译那点事

(5)上述步骤执行完毕,即可在 dex2jar-0.0.9.15 目录下生成 classes_dex2jar.jar ,把其放到任何一款JAVA反编译软件中都能得到源代码。相信任何有过JAVA开发经历的朋友都不陌生。