您的位置:首页 > 移动开发 > Android开发

android APK反编译教程

2014-10-16 11:34 260 查看
反编译前奏

1、下载要分析的APK

2、apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;

源码反编译步骤

1、解压下载的dex2jar(点击下载),把 class.dex 拷贝到 dex2jar.bat 所在目录,直接拖动 class.dex 到 dex2jar.bat,生成 classes.dex.dex2jar.jar。

2、用 rar 解压出 jar 文件中的 class 文件,然后 用jad 或 DJ Java Decompiler 反编译工具将 .class 文件反编译成 .java 文件

在cmd下执行如下命令:

jad -o -r -s java -d src *.class

此命令将批量反编译.class文件至src目录

3、运行
JD-GUI工具(绿色软件)(点击下载),打开上面的 jar 文件,在File下有个 Save JAR Source,它可以生成 src 源代码。

资源文件反编译步骤

首先还是下载工具,这次用到的是apktool

下载地址:http://code.google.com/p/android-apktool/downloads/list

下载:apktool1.5.2.tar.bz2apktool-install-windows-r05-ibot.tar.bz2(两个包都下载)

具体步骤:

将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar

在命令行下定位到apktool.bat文件夹,输入以下命令:apktool d C:\*.apk C:\*文件夹,如下图:





命令行解释:apktool d [apk文件 ] [输出文件夹]

反编译的文件如下(AndroidManifest.xml为例):





特别注意:你要反编译的文件一定要放在C盘的根目录里

将反编译完的文件重新打包成apk,很简单,输入apktool b c:\***文件夹(你编译出来文件夹)即可,命令如下:





打包apk后的文件在目录C:\HelloAndroid下,生成了两个文件夹:

build

dist

其中,打包生成的HelloAndroid.apk,在上面的dist文件夹下,Ok

通过以上步骤可以反编译源码及资源文件,然后将其合并至一个工程目录,在eclipse开发环境里通过如下步骤导入生成的工程文件

New->Android Project->Create project from exist ing source
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: