我以前很喜欢。net Reflector,但是自从Red Gate Software接手后,它就急剧下滑了。现在它迫使我进行更新(这绝对是荒谬的),有一半的时间更新并不顺利,而且每次更新都越来越影响我的工作效率。我已经厌倦了,我已经准备好迎接更好的生活了。有没有更好的反汇编程序?


更新:

答案中提到的各种替代方案的列表-

ILSpy dotPeek JustDecompile DisSharper 单塞西尔 Kaliro 编辑(DILE) 公共编写者基础设施


我不知道你到底想要什么。如果你想看到。net框架的源代码,你可以试试Netmassdownloader。这是免费的。

如果你想看到任何程序集的代码(不仅仅是。net),你可以使用ReSharper。虽然它不是免费的。


9Rays曾经有一个反编译器,但我有一段时间没有检查了。这不是免费的,我记得……

还有一个新的(至少对我来说)叫做Dis#。


. net源代码现已可用。

看这个链接或者这个

或者如果你想找一个反编译器,我用的是DisSharper。这对我来说已经足够好了。


Red Gate的最新版本是6.1。但是5.1版本不能自动更新到版本6,因为服务条款发生了变化,所以你会被重定向到网站下载6.1版本。这主要是因为法律原因,你可以在下面的帖子中查看:

Oi !.NET Reflector更新机制是怎么回事?

手动更新到6.1后,您将不再遇到任何问题。


我们不使用autoupdater,而是将EXE文件的属性设置为只读。这样它就不会删除文件。


JetBrains将在ReSharper中添加一个反编译器,并发布一个独立的反编译器。

好消息是,我们正在准备一个独立的二进制即源代码应用程序,即一个反编译器+汇编浏览器,用于探索任何。net编译的代码是合法的。我们没有任何具体的发布日期,但它将在今年发布,而且是免费的。说到“free”,我们实际上是指“免费”。

这里有更多信息。

更新:JetBrains现在发布了名为dotPeek的产品,可以在这里找到它。


也可以看看SharpDevelop的ILSpy。它还处于开发的早期阶段,他们刚刚在2月24日发布。这对我来说很有用。来自他们的网站:

ILSpy是开源的。net程序集 浏览器和反编译器。 开发开始于《红门》之后 宣布免费版 .NET Reflector将在 2011年2月底。

更新:JetBrains发布了免费的。net反编译器dotPeek。

更新2:Telerik也有一个免费的反编译器:JustDecompile。


在我看来,有三种值得关注的选择,它们都是免费的:

ILSpy:这是来自制作(也是免费的)SharpDevelop IDE的同一个人。它不仅是免费的,也是开源的。他们正在开发的另一个扩展是调试反编译代码的能力(Reflector的专业版可以做到这一点),这工作得非常好。 JustDecompile:一个来自Telerik的独立反编译器(今天发布,目前处于Beta阶段)。 dotPeek: JetBrains的一个独立反编译器(目前可以作为EAP的一部分独立使用)。

所有这些方法都以不同的ui以略微不同的方式解决问题。我建议你都试一试,看看你更喜欢哪一个。


这里没有提到的其他一些-

Mono Cecil: With Cecil, you can load existing managed assemblies, browse all the contained types, modify them on the fly and save back to the disk the modified assembly. Kaliro: This is a tool for exploring the content of applications built using the Microsoft.Net framework. Dotnet IL Editor (DILE): Dotnet IL Editor (DILE) allows disassembling and debugging .NET 1.0/1.1/2.0/3.0/3.5 applications without source code or .pdb files. It can debug even itself or the assemblies of the .NET Framework on IL level. Common Compiler Infrastructure: Microsoft Research Common Compiler Infrastructure (CCI) is a set of libraries and an application programming interface (API) that supports some of the functionality that is common to compilers and related programming tools. CCI is used primarily by applications that create, modify or analyze .NET portable executable (PE) and debug (PDB) files.