ILSpy反编译工具的使用

本文导读:ILSpy反编译工具的使用。不过,ILspy需要在电脑上安装.NET Framework 4.0。ILspy可以将一个dll文件转换为C#或VB语言。ILspy对于单个文件可以保存为.cs文件或.vb文件,当文件较多时,可以选择保存为项目文件。C#语句可被ILspy反编译出来,并可支持yield return语句和 lambdas表达式的反编译。

以前一直使用reflector来查看.net类库的一些信息,不过,自2011年2月份开始,reflector就开始转向收费软件了,所以爱好免费软件的开发者们转而开发自己的反编译软件。于是ILspy就因运而生了。ILSPY这个开源工具的目的就是代替reflector的,它反编译出的代码和reflector差不多。

SharpDevelop 是除Visual Studio外,另一个可选择的唯一的.NET开放工具,并且它是开源的。它提供的功能也相当不错,几乎就是在重写Visual Studio。最新的版本中,直接增加了对Visual Studio的解决方安案文件和项目文件的支持。ILSpy是SharpDevelop小组的反编译工具,也是开放源代码的,下面介绍一下它的调试器和反编译器。

ILspy的界面截图

ILSpy的界面与Reflector相似,左边以树型控件显示程序集和它的类型,右边是对应的源代码。基础的反编译功能,与Reflector相比,丝毫不差,甚至有时候用Reflector无法反编译(因为加密)的程序集,用ILSpy可以反编译。

ILspy需要在电脑上安装.NET Framework 4.0.

ILspy常用的几个功能

基础的类型反编译功能都具备

现在只支持把源代码反编译为C#和IL语言,不支持VB。

效果图为:

ILSpy的代码保存功能

当点击一个类型时,选择File->Save Code会反编译当前的类型并保存到指定的文件中,当选择程序集时,Save Code保存为一个项目(csproj)文件,并且把它所有的类型加到这个项目中。

ILSpy的调试器功能

这里要说的调试器,不是指Visual Studio的源码级别的调试器,而是指程序集的调试器。Reflector有个Addin,可以直接附加在Visual Studio中,调试第三方的类型库,而不需要把第三方的类型库反编译后,以源码的形式添加到项目中。

ILSpy也有这个功能,直接对第三方的程序集进行调试,有两种选项

如果第三方类型库是可执行程序(EXE),可以用Debug an executable来启动这个程序。

如果第三方类型库是程序集(DLL),可以用Attach to running application来附加,以启动程序集的调试。

从上图中已经可以看出它的用法,和调试源代码一样。在需要监视变量值的方法的地方,设置断点,当程序运行到此时,就可以通过监视窗体来观察变量的值。

这两者的区别是,Attach to a running application调试时,如果代码经过编译器优化,则监视器会无法得到它的值。

如图所示,无法显示正在调试的变量num的值,因为代码已经经过优化。官方推荐的方式是Debug an executable

与在Visual Studio中调试.NET源代码一样,你可以Step into,Step over,continue,同时状态栏会显示就绪(stand by),运行中(running),正在调试(debugging)。

除了调试程序集的C#/VB形式的代码之外,也可以以IL代码形式调试,如下图所示

ILSpy的debugger是以插件形式存在的,请确保包含ILSpy.Debugger的Plugin。

不过调试.NET程序集一定需要PDB文件才可以。然而ILSpy却没有产生PDB文件(no PDB files are generated),而且它不可以调试ASP.NET Web application和Web 服务。

时间: 2024-12-30 04:29:40

ILSpy反编译工具的使用的相关文章

ILSpy反编译工具之C#反汇编

1.下载ILspy工具 https://github.com/icsharpcode/ILSpy#ilspy------- 注意: ILspy需要在电脑上安装.NET Framework 4.0.   2.反编译 打开ilspy工具如图所示 3.反编译成功保存 按 ctrl+s 保存即可. 原文地址:https://www.cnblogs.com/pythoncd/p/10365845.html

ILSPY反编译工具下载代替收费的Reflector工具

原文发布时间为:2011-10-10 -- 来源于本人的百度文章 [由搬家工具导入] ILSPY反编译工具下载 http://build.sharpdevelop.net/BuildArtefacts/#ILSpyMaster

ILSpy,DLL反编译工具,学习与了解原理的好帮手

你是否一直苦于找到了好的dll却只知道怎么使用而不知道其原理. 你是否在使用一个dll的时候发现它在一些参数时报错了却没法解决. 你是否想成为一个优秀的.net开发,成为一个优秀的系统制造者. 那你需要这款工具,ILSpy,强大的dll反编译工具,让你了解原理,了解"宇宙"最初的本源. 来吧,下载吧 ILSpy_2.1.0.1603

神器之“c#反编译工具“

1. ".net reflector"本人正在使用,下载地址 2."ILSpy"没实用过,可是听杨中科老师说挺好. 有了这个,妈妈再也不用操心我看不到别人封装好的代码了(^v^) 神器之"c#反编译工具"

几个比较实用的.Net 反编译工具

1. Visual Studio 自带的IL DASM Visual Studio 的Tools中可以找到IL DASM,通过File-Open打开一个你想反编译的dll 单击方法名,则会跳出该方法的IL代码,如下图: 2. ILSpy: 对dll反编译后支持C#.VB和IL的显示 3. JetBrain dotPeek:直接反编译成C#代码 4. Telerik JustDecompile: 同样支持反编译为IL.C#和VB 当然啦,.Net反编译软件有很多,这里只是简单滴介绍几个用着不错的反

Eclipse反编译工具Jad及插件JadClipse配置

Jad是一个Java的一个反编译工 具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的 插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码. 1  下载Eclipse反编译工具Jad. 下载路径:  http://pan.baidu.com/s/1tOSO2 2 把下载包中的 net.sf.jadclipse_3.3.0.jar放入到 eclipse的安装目录下,..

myeclipse安装jadclipse(反编译工具)

我是myeclipse5.5 的IDE工具.为了能反编译class文件,上网搜索了很多资料,终于找到一下的一段资料: 1.将jad.exe 复制到myeclipse安装目录的jre/bin目录下, 如:C:/Program Files/MyEclipse 5.5.1 GA/jre/bin/jad.exe : 2.然后将net.sf.jadclipse_3.2.4.jar复制到myeclipse安装目录下的eclipse/plugins目录下, 如:C:/Program Files/MyEclip

Java 反编译工具下载

反编译,通俗来讲,就是将.java 文件经过编译生成的 .class 文件还原.注意这里的还原不等于 .java 文件.因为Java编译器在编译.java 文件的时候,会对代码进行一些处理. 那么接下来介绍几款 Java 反编译工具: 1.jad 这是一款使用很广泛的 Java 反编译工具,对 Java 底层代码的还原比较彻底.ps:个人比较喜欢这款 官网:https://varaneckas.com/jad/ 个人百度云下载地址:链接:http://pan.baidu.com/s/1jHNLx

Java 反编译工具 —— JAD 的下载地址(Windows版/Linux版/Mac OS 版)

Java 反编译工具 —— JAD 的下载地址. 各种版本哦! Windows版,Linux版,Mac OS 版,等等 下载地址: http://varaneckas.com/jad/ Java 反编译工具 -- JAD 的下载地址(Windows版/Linux版/Mac OS 版),布布扣,bubuko.com