zoukankan      html  css  js  c++  java
  • 转:反编译Silverlight项目

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

    在互联网上,每天都会有很多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窗口即可查看。


  • 相关阅读:
    2015年第六届 蓝桥杯B组 C/C++决赛题解
    【每日一题】22.美味菜肴 ( 01背包变种问题 )
    【译】N 皇后问题 – 构造法原理与证明 时间复杂度O(1)
    服务商快速创建的小程序如何开通云开发?
    小程序●云开发感恩特惠震撼来袭,折扣力度历史最大
    云开发者专属盛会:邀你一起「重新定义开发」
    如何用 Cloudbase Framework 部署一个 Vue 项目
    Java 类型信息详解和反射机制
    Java7 新特性 —— java.nio.file 文件操作
    Java8 新特性 —— Stream 流式编程
  • 原文地址:https://www.cnblogs.com/songsh96/p/1633703.html
Copyright © 2011-2022 走看看