Android的程序解码与XML文件解码

首先,怀着无比激动的心情写下这篇日志.....

Googles真的很给力....让我有幸看到ANDROID应用程序的内部源码....

下面开始言归正传:

ANDROID的应用程序是由两部分组成的.

1.*.class文件

2.*.xml文件  解码时候需要使用到不同的工具...

下面开始介绍*.class(类文件的解码)

需要用到的工具:

dex2jarJD-GUI

dex2jar下载地址:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip

JD-GUI下载地址:
windows版JD-GUI:
http://laichao.googlecode.com/files/jdgui.zip
     Linux版JD-GUI:http://laichao.googlecode.com/files/jd-gui-0.3.2.linux.i686.tar.gz

 

A:将*.apk文件的后缀修改成*.zip,然后解压,会在文件夹内发现一个叫classes.dex的文件

B:将dex2jar解压后放到C盘根目录,然后将classe.dex放到这个文件夹中来

然后在开始运行中输入CMD,

将路径定位到dex2jar.bat所在的文件夹(dex2jar.bat为dex2jar解压后文件夹内存在的一个*.BAT文件)

然后输入:dex2jar.bat classes.dex

(这里有可能会报错,如果报错好好看一下JAVA的环境变量是什么,配置的对不对)

C:如果一切正常就会解码出来一个*.jar文件

D:用刚才提及到的JD-GUI来解码*.jar文件 (windows环境的直接拖上去可以)

E:很多公司开发出来的源码都是修改了类名,方法名的- -这个比较恶心,也没有什么好办法,只能费点眼神仔细看了....

 

下面是*.xml文件的解码

需要用到的工具:

apktool1.4.1.tar.bz2

apktool-install-windows-r04-brut1.tar.bz2

这两个工具可以在Google官方提供的URL地址:http://code.google.com/p/android-apktool/

上下载

然后解压,

A:两个压缩包内的所有文件都要放在同一个路径下,本人放的还是C盘根目录

B:将需要解码的*.apk文件放到和步骤A中解压的文件相同的路径下(本人放的依旧是C盘根目录)

C:开始--->运行输入CMD,然后定位到C盘,在命令提示框内输入:apktool d C:\*.apk  C:\***

(*.apk为需要解码的应用程序,***为文件夹名称)

D:解码后就能清晰的看到程序内所有用到的*.XML文件啦...包括布局文件和AndroidManifest.xml文件

^_^

posted @ 2011-08-12 17:51  逍然  阅读(4234)  评论(2编辑  收藏  举报