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

首先,怀着无比激动的心情写下这篇日志.....
Googles真的很给力....让我有幸看到ANDROID应用程序的内部源码....
下面开始言归正传:
ANDROID的应用程序是由两部分组成的.
1.*.class文件
2.*.xml文件  解码时候需要使用到不同的工具...
下面开始介绍*.class(类文件的解码)
需要用到的工具:
dex2jar和JD-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文件

时间: 2024-08-04 02:21:44

Android的程序解码与XML文件解码详解的相关文章

Android学习笔记之AndroidManifest.xml文件解析(详解)_Android

一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置. 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)

Android学习笔记之AndroidManifest.xml文件解析(详解)

一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置. 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)

Android自定义View中attrs.xml的实例详解

Android自定义View中attrs.xml的实例详解 我们在自定义View的时候通常需要先完成attrs.xml文件 在values中定义一个attrs.xml 然后添加相关属性 这一篇先详细介绍一下attrs.xml的属性. <?xml version="1.0" encoding="utf-8"?> <resources> //自定义属性名,定义公共属性 <attr name="titleText" for

深入AndroidManifest.xml文件解析详解_Android

一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置. 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)

深入AndroidManifest.xml文件解析详解

一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置. 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)

Android基于Pull方式解析xml的方法详解

本文实例讲述了Android基于Pull方式解析xml的方法.分享给大家供大家参考,具体如下: Pull解析和Sax解析很相似,都是轻量级的解析,在Android的内核中已经嵌入了Pull,所以我们不需要再添加第三方jar包来支持Pull. Pull解析和Sax解析不一样的地方有: (1)pull读取xml文件后触发相应的事件调用方法返回的是数字 (2)pull可以在程序中控制想解析到哪里就可以停止解析. 来看看实例: book.xml如下: <?xml version="1.0"

asp.net类序列化生成xml文件实例详解_实用技巧

本文实例讲述了asp.net类序列化生成xml文件的方法.分享给大家供大家参考,具体如下: 根据设计的需求需要开发多个商品的API 原XML文件如下: <urlset> <url> <loc>http://www.xxxxx.com/todaydetials.aspx?id=143</loc> <data> <display> <website>爱购114</website> <siteurl>ht

【maven】 maven的setting.xml文件的详解

1       Maven的安装        安装Maven之前要确保已经安装好了jdk,并且配置好了环境变量JAVA_HOME.具体安装步骤如下: 从apache网上下载maven项目的压缩包.下载地址为:http://maven.apache.org/download.html.比如现在最新的Maven版本是3.0.4,那么我下载好的安装文件就是apache-maven-3.0.4.zip. 将下载后的压缩包解压到Maven的安装目录,比如说是D:\\develop,那么解压后就是D:\\

eclipse打开android项目下layout的.xml文件出错

问题描述 eclipse打开android项目下layout的.xml文件出错 报错为:An error has occurred. See error log for more details. java.lang.NullPointerException,今天不知突然怎么出现这种情况了以前都好好的 解决方案 Eclipse中Android项目XML文件的格式化配置Eclipse中Android项目XML文件的格式化配置Eclipse中Android项目XML文件的格式化配置 解决方案二: 肯