反编译apk文件

Android拿来主义-反编译apk文件

前言

今天给大家分享一下Android中的拿来主义,我们时常会碰到自己觉得很有用的应用(apk),想同过此应用来学习,尝试用WinRAR等之类的工具查看,目录通常是这样的,如下图:

当然res里面的图片是可以拿来用的,但是layout里面的布局及权限文件(AndroidMainfest.xml)却是一堆乱码,完全看不懂,想看看别人的布局都不容易。还有源代码也被编译成classes.dex,完全看不出什么线索。基于以上困惑,给大家分享一下Android中的拿来主义。

一、所需的工具

1下载dex2jar最新版本,下载地址http://code.google.com/p/dex2jar/downloads/list

2下载class反编译工具,我用的是jad,大家可以根据自己情况选择(可以用jd-gui直接打开classes.dex经过反编译后生成的.jar文件-下载地址http://www.cr173.com/soft/22741.html)

3下载AXMLPrinter2.jar用来查看布局文件

二、开始拿来主义

1、

AXMLPrinter2.jar查看apl中的布局文件:

为了方便起见,将所下载的相关工具放在D:\Android中。将你找到的应用程序的apk用WinRAR等工具打开,将res/layout/main.xml解压出来(也放到D:\Android)

打开main.xml文件,内容如下(一堆天文):

这时候AXMLPrinter2.jar 派上用场,打开cmd终端,进入d:\Android目录下,输入如下命令:java -jar AXMLPrinter2.jar main.xml > main.txt (如下图所示)代开main.text开别人的代码吧!!

1、

dex2jar中的dex2jar.bat生成jar文件

在cmd下进入dex2jar.bat所在路径,然后输入“dex2jar.batXXX”,XXX指的是你要反编译的apk中的classes.dex文件所在路径及名称,比如:我的dex2jar.bat在D:\Android\apk_decode\dex2jar-0.0.7-SNAPSHOT路径下,classes.dex在D:\Android

下,输入命令:dex2jar.batD:\Android\classes.dex

此时在D:\Android目录下会生成一个JAR文件。

2、

用jad工具将.class文件反编译成.java文件

将上面生成的jar文件解压出来,会看到相关的.class文件,这是用jad将.class文件反编译成.java文件输入命令:jadexample.class

(examples.class是文件解压出来的文件)

注:摘自http://dev.10086.cn/cmdn/bbs/viewthread.php?tid=21765

相关推荐