反编译Silverlight项目

反编译Silverlight项目

 

 

 

转自:http://www.cnblogs.com/jv9/archive/2009/12/15/1622853.html

 

在文章的开头,我想事先说明,本文并非诱导读者恶意反编译他人作品,盗取他人代码成果,只是为了学习Silverlight讨论而用。

 

在互联网上,每天都会有很多Silverlight项目发布,有的是开源,有的只是为了展示。在Silverlight学习的初期,多数都需要模仿学习,所以,发现一个Silverlight项目,能够查看其中的源代码是最好不过了。但是,Silverlight发布,只是发布资源包XAP,而所有资源都在这个XAP文件中,该如何查看其中的资源和代码呢?下面我将演示反编译的方法,演示中我将用Silverlight.Net首页Silverlight作为例子。

 

1. 首先打开Silverlight.Net,该页面中包含一个Silverlight导航动画;

 

 

2. 在浏览器中,点击右键,查看页面源代码;

 

 

3. 在html源代码中搜索"xap",很快就能定位出xap的位置。

 

 

 

我们看到<param name="Source" value="clientBin/showcasenav/ShowcaseNav.xap" />

该value就是xap在服务器端的位置。

 

4. 我们使用同样的域名,来获取当前的xap文件。打开新的浏览器,在地址栏输入:  http://www.silverlight.net/clientBin/showcasenav/ShowcaseNav.xap

这时浏览器会提示你下载该xap文件。

 

 

5. 重新命名下载下来的文件ShowcaseNav.xap,为 ShowcaseNav.zip. 然后解压该压缩包到同一个目录. 在目录中,会看到该Silverlight使用的装配单文件,以及类库,和配置文件.

 

 

6. 下面可以使用大家都比较熟悉的反编译软件,Reflector来查看DLL中的资源和代码文件。 下载Reflector: http://www.red-gate.com/products/reflector/

 

 

 

7. 在Reflector中双击“MsCommunities.Silverlight.ShowcaseNav”,展开文件会看到DLL和Resources,其中Resources中包含这所有的xaml文件和图片文件,DLL中都是类库后台代码。

 

 

 

8. 点击进入Reources目录,双击“MsCommunities.Silverlight.ShowcaseNav.g.resources”,在Reflector右边可以看到资源列表,选中任意一个想查看代码的文件,点击右键“Save As”,保存到本地,即可使用VS2008或者文本编辑软件查看代码内容。

 

 

 

 

9. 对应着每个资源文件会有类库代码,双击“MsCommunities.Silverlight.ShowcaseNav.dll”,再双击“MsCommunities.Silverlight.ShowcaseNav”,可以查看各个类库文件,这里,我们选中"ItemAdvanceControl“,在Reflector右边即可看到反编译代码。

 

 

 

至此,我们已经讲述如何反编译Silverlight项目,查看其源代码,下面我想介绍一款国外的共享软件,也可以达到上面同样的效果 - Silverlight SPY,下载地址:http://silverlightspy.com/silverlightspy/download-silverlight-spy/

Silverlight SPY是一款共享软件,该软件可以自动获取XAP文件,帮你解析XAP中的文件,该软件和Reflector配合同样可以查看Silverlight项目源代码。同时,可以分解项目中的样式和UI,以及Isolated Storege展示给开发人员。我们在地址栏输入Silverlight.NET地址,即可得到,双击任何一个资源,在View窗口即可查看。

 

 

 

本文首发 银光中国网 (SilverlightChina.Net)

著名的silverlight反编译工具 发现你感兴趣的Silverlight项目,可以使用Silverlight Spy进行侦测,查看部分源代码,以及项目结构,有利于Silverlight项目开发学习。 Silverlight Spy是一个免费的.NET 3.5工具,用来对显示Silverlight 2内容的网页进行详细的监测。这个工具使用它自己内嵌的浏览器,可以帮助用户浏览任何网站,并监测SilverlightSilverlight Spy的功能包括: 一般功能 能方便地访问所有应用程序细节的导航; 扩展的搜索功能(正在开发中)。 XAP包(注:XAP文件是Silverlight 2应用程序编译打包后的一个文件,包括了Silverlight 2应用程序所需的一切文件,如程序集、资源文件等) 查看和导出XAP包内容; 查看和导出程序集和资源文件; 查看.NET类型和成员,包括状态; 反编译.NET类型和成员(需要Reflector)。 独立存储 浏览独立存储结构; 查看和导出独立存储中的文件。 应用程序风格 查看和导出默认的控件风格; 查看和导出应用程序控件风格。 用户界面 通过应用程序中可视化的回馈,浏览用户界面对象模型; 通过在应用程序中选择用户界面元素,找到它们; 读写用户界面元素属性; 查看再生的用户界面对象模型的部分XAML文件; 查看用户界面的状态; 预览用户界面的独立部分(正在开发中); 监视用户界面元素产生的事件。 工具 微软Silverlight配置工具; 监测和验证跨域访问的策略文件; HTTP监视器提供对HTTP/HTTPS通信量的分析。 安装和使用Silverlight Spy的最小配置要求: IE 6或者更高版本; Silverlight 2 (Beta 2); Windows Installer 3.1; .NET Framework 3.5运行时; 在他的网站上,Christmas Koenig发表了一个Silverlight Spy的综述。对于这个工具,Chris有着自己的看法: 到目前为止,经过一段时间的试用,我真的真的喜欢上了这个工具。我知道许多人都投入到了Silverlight方面的开发,相信SilverlightSpy对他们来说是相当有帮助的,不论是作为调试工具还是用于学习。通过和Reflector的集成,这个工具功能再上一层楼。我强烈推荐你现在就到First Floor的官方网站上去下载Silverlight Spy。 Silverlight Spy现在可以从该公司的站点上下载到,而且还可以浏览到其他更多相关的信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值