2024年4月18日发(作者:)
Reflector是.NET开发中必备的反编译工具。即使没有用在反编译领域,也常常用它来检查程序集的命名规范,命
名空间是否合理,组织类型的方法是否需要改善。举例说明,它有一个可以查看程序集完整名称的功能,请看下图
这里的Name,是标识一个程序集的完整标识,当GAC中存在程序集的多个版本时,这个名称是唯一的识别名称。
但是,Reflector很早就转向收费软件了,需要购买许可才可以使用。对于耻于用盗版的朋友,通常会放弃。有朋
友说,Reflector并没有增加更霸道的功能,却转向收费,令人费解。再看看市场上的.NET反编译软件,被Reflector
击溃。
一提到Reflector,说到.NET反编译,Reflector常常是默认的首选工具。
这里提起一下Visual Studio的垄断。Visual Studio占据了.NET开发工具系列的绝对垄断地位。在.NET 1.x时代,
还有C# Builder,来使用和体验,一争高低。可是到后来,.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。


发布评论