android APK反编译教程

反编译前奏

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.bz2 和 apktool-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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章