反编译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

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窗口即可查看。

时间: 2024-08-05 16:36:05

反编译Silverlight项目的相关文章

C#代码反编译 得到项目可运行源码

C#代码反编译 得到项目可运行源码 摘自:http://www.cnblogs.com/know/archive/2011/03/15/1985026.html 谈到"C#代码反编译",大家可能都会想到 Reflector代码反编译工具,对其应该也不会太陌生:做C#开发,它算得上是一个不可或缺的实用工具.通过它我们可以很方便的查看一个程序集的源代码(这是其最基本的使用,也是大家常用的),还可以方便破解软件...,而我这篇文章要跟大家分享的是:用Reflector将C#的开发的软件[项目

[转] .net软件反编译笔记

原文地址:http://blog.csdn.net/three_bird/article/details/51433734 在软件的破解及源码获取及重新编译的道路上会遇到一些问题,书此备查. 大名鼎鼎的Reflector以及开源的ILSPY都是.NET程序集的反编译利器,但是它们不能为你做全部的工作. 0x01: 遇到反编译所得源码里面调用类的属性时多出set_Name或者get_Name之类的说明程序集引用没有加载完全, 因为反编译工具在没有元数据的情况下无法判断这丫的到底是个方法还是个属性.

.net软件反编译笔记

在软件的破解及源码获取及重新编译的道路上会遇到一些问题,书此备查. 大名鼎鼎的Reflector以及开源的ILSPY都是.NET程序集的反编译利器,但是它们不能为你做全部的工作. 0x01: 遇到反编译所得源码里面调用类的属性时多出set_Name或者get_Name之类的说明程序集引用没有加载完全, 因为反编译工具在没有元数据的情况下无法判断这丫的到底是个方法还是个属性. 有时候反编译得到的源码里的-1实际上可能是某个数的最大值,因为反编译时没有加载依赖的程序集,工具将类似int.MaxVal

利用开源项目jadx反编译Android应用

利用开源项目jadx反编译Android应用 利用Github开源项目jadx可以直接对 .dex, .apk, .jar, .class 类型的文件进行直接反编译 对比之前 apktool(解包apk) + dex2jar(将.dex转换成.jar) + jd-gui (查看.jar文件)反编译三件套, jadx的优点在于: 1. 可以一行命令直接反编译恢复出.java文件 命令: jadx -d out calc.apk 需要先把apk拷贝到bin目录下, 如图:  2. 可以一行命令直接以

Android项目打包apk及apk的反编译

一.项目打包的一般原理及其缺点 (1)开发一个简单的项目,发布的时候为一个APK文件,如果我们不使用签名的方式,直接在bin目录下找到*.apk文件,很方便,但是我们的使用者在使用的时候,有可能会被其他的程序覆盖安装:具体解释如下: (2)我们新建一个项目Test目录结构如下,并把它发布到模拟器上,得到我们的打包文件Test.apk (3)然后我们在看模拟器中的文件目录信息,我们在安装的应用,都会在安卓机器上的data----data---具体的安装文件夹,例如我的是:com.example.t

Reflector反编译WinForm程序重建项目资源和本地资源

工具:vs2012..NET Reflector8.1.0.35 要解决的问题: 通过Reflector反编译生成的代码可以编译通过并显示窗体的本地资源和项目资源图片 一.测试项目 两个图片分别放在项目资源和窗体的本地资源里 项目资源文件: <data name="Chrysanthemum" type="System.Resources.ResXFileRef, System.Windows.Forms"> <value>..\Resour

war反编译成java项目

最近开发人员出差的出差,离职的离职,新来的员工还没熟悉项目,只好让我们测试人员来替他们打理打理了 第一步:到服务器下载项目war包 第二步:下载jar反编译工具jd-gui 下载地址: http://jd.benow.ca/ 第三步:打开jd-gui File-->Open File ,打开刚才下载的war,这个时候jar已经被反编译了,再File-->Save All Sources,导出来的是一个zip包,里面包含这些内容,图一: WEB-INF文件夹里面包含编译好的java文件,图二 第

反编译 war 包成传统项目的方法

需求 项目老大让外包做了官网,不甚满意,想自己搞搞,遂叫我反编译他们发过来的 war 包. 方法 第一步:解压 war 包其实就是 zip 压缩包,用 zip 解压. 第二步:反编译 查看 war 包下面的 WEB-INF/classes,用 http://java-decompiler.github.io/ jd-gui 直接打开一个 class 文件,自动反编译文件下所有文件.然后在菜单中导出代码. 第三步:建立 maven 项目 在 IDEA 中建立 maven 项目,导入依赖,根据 WE

最新反编译嵌入广告sdk教程(附成功项目)

本人程序员屌丝一枚,不善言语,直接谈技术. 反编译大多用于App的破解.App的汉化.App植入广告,出于兴趣,我下班花了6个晚上终于反编译嵌入了个有米广告然后又成功回编译回去,打包签名. 可下载打开看看效果,百度网盘下载地址:http://pan.baidu.com/s/1GpEJ8,这个APP我本人也很喜欢,如果有喜欢的朋友可以下载看看那个广告平时点点广告下载下载,哥们后半辈子就靠它了. 反编译植入代码的思路与方法. 其实思路很简单, 1.首先我们要反编译 targetapk.apk,得到源