- 浏览: 314172 次
文章分类
- 全部博客 (308)
- Apple (1)
- MAC (6)
- iPhone (1)
- iOS (1)
- Adobe (3)
- Microsoft (23)
- Windows (12)
- WAP (2)
- CMPP (6)
- Eclipse (5)
- .NET (13)
- Router (3)
- ADO.NET (2)
- C# (11)
- WPF (3)
- SqlServer (4)
- Facebook (2)
- JDBC (1)
- Visual Studio (10)
- ActiveMQ (9)
- Java (112)
- Memcached (2)
- NoSQL (7)
- Hadoop (9)
- GlassFish (2)
- Linux (98)
- CentOS (58)
- Spring (10)
- Oracle (17)
- JBOSS (12)
- Webservice (4)
- EJB (7)
- DFS (1)
- Hibernate (9)
- Redis (3)
- Tomcat (5)
- Python (8)
- FastDFS (6)
- Nginx (6)
- RabbitMQ (0)
- Erlang (0)
- Lucene (8)
- Solr (7)
- MySQL (1)
- JavaScript (0)
最新评论
-
zhangy888:
你好,我正好也遇到了这个问题,按照您的设置有如下几个问题,请帮 ...
CXF SOAP 1.2 SOAP 1.1 问题 -
u011493586:
这个SUBMIT写的还不错,只是有的地方没看懂
CMPP发送超长短信息(JAVA版) -
u011493586:
...
CMPP发送超长短信息(JAVA版)
Reflector是.NET开发中必备的反编译工具。即使没有用在反编译领域,也常常用它来检查程序集的命名规范,命名空间是否合理,组织类型的方法是否需要改善。举例说明,它有一个可以查看程序集完整名称的功能,请看下图
这里的Name,是标识一个程序集的完整标识,当GAC中存在程序集的多个版本时,这个名称是唯一的识别名称。
但是,Reflector很早就转向收费软件了,需要购买许可才可以使用。对于耻于用盗版的朋友,通常会放弃。有朋友说,Reflector并没有增加更霸道的功能,却转向收费,令人费解。再看看市场上的.NET反编译软件,被Reflector击溃。
一提到Reflector,说到.NET反编译,Reflector常常是默认的首选工具。
这里提起一下Visual Studio的垄断。Visual Studio占据了.NET开发工具系列的绝对垄断地位。在.NET 1.x时代,还有C# Builder,Delphi.NET来使用和体验,一争高低。可是到后来,.NET Framwork更新频繁,动辙在编译器级别,和语言层面做更新,这令第三方的软件开发工具商非常苦恼,这些工具也从市场上慢慢消声匿迹,几乎没有第三方的软件开发商愿意开发.NET开发工具与Visual Studio一争高低。没有了竞争,进步的速度要慢很多。Visual Studio 2008差不多就是Visual Studio 2005+SP的替代品,在工具层面,Visual Studio 2005 SP1加上了Web Application,就是Visual Studio 2008。虽然说语言层面是进步了很多,.NET 3.0,.NET 3.5,LINQ, 框架方法增加:WCF,WPF,WF,但是,我一直认识从2005到2008,它在工具层面没有什么进步。
SharpDevelop 是除Visual Studio外,另一个可选择的唯一的.NET开放工具,并且它是开源的。它提供的功能也相当不错,几乎就是在重写Visual Studio。最新的版本中,直接增加了对Visual Studio的解决方安案文件和项目文件的支持。ILSpy是SharpDevelop小组的反编译工具,也是开放源代码的,今天来介绍一下它的调试器和反编译器,以让那个收费的,却没有增加霸道功能的Reflector out。
ILSpy的界面与Reflector相似,左边以树型控件显示程序集和它的类型,右边是对应的源代码。基础的反编译功能,与Reflector相比,丝毫不差,甚至有时候用Reflector无法反编译(因为加密)的程序集,用ILSpy可以反编译。
Decompiler 反编译器
基础的类型反编译功能都具备,现在只支持把源代码反编译为C#和IL语言,不支持VB。
当需要找的程序集是.NET框架时,可以直接从菜单File—Open from GAC中打开需要查看源码的程序集。
代码保存功能也做得不错,当点击一个类型时,选择File->Save Code会反编译当前的类型并保存到指定的文件中,当选择程序集时,Save Code保存为一个项目(csproj)文件,并且把它所有的类型加到这个项目中。
Debugger 调试器
这里要说的调试器,不是指Visual Studio的源码级别的调试器,而是指程序集的调试器。Reflector有个Addin,可以直接附加在Visual Studio中,调试第三方的类型库,而不需要把第三方的类型库反编译后,以源码的形式添加到项目中。
ILSpy也有这个功能,直接对第三方的程序集进行调试,有两种选项
如果第三方类型库是可执行程序(EXE),可以用Debug an executable来启动这个程序。
如果第三方类型库是程序集(DLL),可以用Attach to running application来附加,以启动程序集的调试。
从上面两张图中已经可以看出它的用法,和调试源代码一样。在需要监视变量值的方法的地方,设置断点,当程序运行到此时,就可以通过监视窗体来观察变量的值。从ILSpy的状态栏中看出,上面的第一张图是正处于调试状态,第二张图,是准备就绪,可以进行调试。
这两者的区别是,Attach to a running application调试时,如果代码经过编译器优化,则监视器会无法得到它的值。
如图所示,无法显示正在调试的变量num的值,因为代码已经经过优化。官方推荐的方式是Debug an executable
与在Visual Studio中调试.NET源代码一样,你可以Step into,Step over,continue,同时状态栏会显示就绪(stand by),运行中(running),正在调试(debugging)。
除了调试程序集的C#/VB形式的代码之外,也可以以IL代码形式调试,如下图所示
由此看来,这还是相当不错的调试IL代码的工具。工具可以促进学习的效果,学习领悟之后,又可以推进工具的发展,这就是知识的无止境的发展。
ILSpy的debugger是以插件形式存在的,请确保包含ILSpy.Debugger的Plugin。
根据我们的理解,调试.NET程序集一定需要PDB文件才可以。然而ILSpy却没有产生PDB文件(no PDB files are generated),而且它不可以调试ASP.NET Web application和Web 服务。
这其中的原理,不甚明白。compiler/debugger一直是我喜爱的技术主题,但学识肤浅,无法分享。
Reflector会检测到系统时间超过了它预设的时间,如果不升级,它会主动删除自己,从你的电脑中out掉。如果你对此很烦恼,那就让它out吧,你可以有另一个选择,试试ILSpy,或许会带来一丝的惊喜。
发表评论
-
vs2010创建ActiveX工程和怎么给ActiveX添加方法
2015-01-13 11:11 843ActiveX控件是注册到电脑上的一个注册库文件,以ocx ... -
VS使用中 coloader80.dll异常
2013-01-04 16:29 1172今天在工作的时候由于不小心直接关掉了正在运行程序的Vis ... -
log4net使用详解
2012-12-08 13:26 963说明:本程序演示如何利用log4net记录程序日志信息。log ... -
WMI Troubleshooting
2012-09-24 14:18 1244When accessing WMI local or rem ... -
net中的WMI编程(二):WMI中的WQL语言和WQL的测试工具
2012-09-24 13:41 1015今天临晨本人写了一篇有关.net中WMI编程的入门文章,名 ... -
net中的WMI编程(一):WMI介绍及简单应用
2012-09-24 13:40 846前言: 由于.net的某 ... -
ADO.NET中SQL Server数据库连接池
2012-04-09 15:43 867连接到数据库服务器 ... -
ADO.NET数据库连接池的介绍
2012-04-09 15:35 1015摘录自MSDN: 建立池 ... -
WPF入门教程系列(二) 深入剖析WPF Binding的使用方法
2012-03-16 17:15 1235同一个对象(特指System.Windows.Depe ... -
WPF入门教程系列(一) 创建你的第一个WPF项目
2012-03-16 17:11 2340WPF基础知识 快速学习绝不是从零学起的,良好的 ... -
使用 SQL Server Compact 3.5 数据库(设备)
2012-03-16 16:43 1562更新: 2008 年 7 月 Visual Stud ... -
C#调用DLL
2012-03-08 14:42 941每种编程语言调用DLL的方法都不尽相同,在此只对 ...
相关推荐
本文将详细介绍C#反编译工具IlSpy及其与Reflector的对比。 IlSpy是一款开源的C#反编译器,它允许用户查看并理解编译后的.NET程序集的内部结构。IlSpy的强大之处在于它的易用性和功能全面性。它可以解析和显示.NET...
NET Reflector 2011 2月已经结束提供免费版本,催生了另一个开源的项目ILSpy。ILSPY这个开源工具的目的就是代替reflector的,它可以反编译出比reflector更好的C#代码,1.0版本支持C#,2.0版本将支持VB:
本篇文章将详细探讨三种广受欢迎的C#反编译工具:dnSpy、IL Spy和.NET Reflector,以及它们各自的特点和用途。 首先,dnSpy是一款开源的C#反编译器和调试器,它允许用户在运行时修改和调试.NET程序。dnSpy的主要...
1. 文件包含 ILSpy.AddIn_7.2.1.6856.vsix 和 RedGate.Reflector.VsPackage.vsix 适用于vs2017和2019 2. ILSpy独立程序 7.2最新版本 3. Reflector v11.1.0.2167最新版本 4. 有疑问可联系QQ 2454954412
.net最牛反编译工具Reflector,ILSpy。结合这两种工具,能互补
Reflector 已经out了,试试时ILSpy,Reflector是.NET开发中必备的反编译工具。即使没有用在反编译领域,也常常用它来检查程序集的命名规范,命名空间是否合理,组织类型的方法是否需要改善。运行需要.net framework...
ILSpy是一款开源的.NET反汇编...总的来说,ILSpy凭借其强大的功能和开源性质,已经成为.NET开发者的必备工具。它不仅用于反汇编和理解代码,还能作为教育和研究.NET框架的有力工具,提升了开发者的工作效率和代码质量。
ILSpy是SharpDevelop小组的反编译工具,也是开放源代码的,Reflector很早就转向收费软件了,需要购买许可才可以使用,...如果你对此很烦恼,那就让它out吧,你可以有另一个选择,试试ILSpy,或许会带来一丝的惊喜。
支持ILSpy。 ILSpy 2.3+和Reflector 8.5+的热装配更换功能。 在指令编辑器中支持通用实例类型和方法。 通用类型参数编辑器在选择具有通用 参数的类型/方法时
ILSpy在.NET社区中被视为Reflector的优秀替代品,尤其是在Reflector转向付费模式后,ILSpy以其免费开源的特点受到广泛欢迎。 ILSpy的核心功能包括: 1. **反编译.NET程序集**:ILSpy能够将编译后的.NET程序集(如...
ILSpy Reflector7.3 破解版 免费试用 Reflector7.3内部已添加最好用插件 ILSpy内附源代码 方便大家学习 都是是最常用的反编译软件
反编译工具,包含 .NET Reflector ILSpy_Master,都是自己经常用的,分享一下
这款工具对.NET开发社区具有重大意义,因为它提供了一个免费且功能强大的替代方案,与商业反编译器如Reflector相比,ILSpy更倾向于开放性和持续改进。 ILSpy的核心功能包括: 1. **反编译.NET程序集**:ILSpy能够...
就我的使用经验而言,在反编译代码时用ILSpy 2.0得到的源代码错误的地方比Reflector要小 ILSpy是一个开放源代码的.NET程序集浏览器和反编译工具,这个项目始于.NET Reflector 2011 2月将结束提供免费版本
与Reflector相比,ILSpy无需安装,直接运行ILSpy.exe即可开始工作,而且支持拖放操作,你可以直接将DLL或EXE文件拖到窗口中进行反编译。 2. **反编译能力**:ILSpy可以将.NET的中间语言(IL)反编译回可读性强的C#...
与早期流行的Reflector相比,ILSpy提供了更多特性,比如支持.NET Framework和.NET Core,以及对现代.NET特性的全面解析。 1. **C#反编译**:反编译是将已编译的.NET程序集(如DLL或EXE)转换回源代码的过程。ILSpy...
ILSpy 是一个开源的.NET反编译工具,简洁... 如果你用Reflector感觉不爽,你可以有另一个选择,试试ILSpy,或许会带来一丝的惊喜。 就我个人的使用感觉,比Reflector更好用,小巧免费;而且代码导出的错误相对较少。
Reflexil是一个.NET程序集编辑器,结合Reflector或者ILSpy,可以进行DLL代码注入等工作,方便开发人员对.NET程序进行修改;可以作为一个Reflector或者ILSpy插件修改程序集的IL并保存到磁盘文件,也可以在自己的.NET...
这款工具在.NET开发者社区中广受欢迎,因为它提供了与商业软件Reflector类似的功能,但作为开源项目,它是免费且不受限制的。 ILSpy的核心功能包括: 1. **反编译**: ILSpy可以反编译.NET程序集,包括.exe、.dll...
开源.net程序反编译工具 NET Reflector 2011 2月已经结束提供免费版本,催生了另一个开源的项目ILSpy。ILSPY这个开源工具的目的就是代替reflector的,它可以反编译出比reflector更好的C#代码。