有没有比.NET Reflector更好的东西?[已关闭]

8 浏览
0 Comments

有没有比.NET Reflector更好的东西?[已关闭]

过去我非常喜欢使用.NET反编译器,但自从Red Gate Software接手之后,它的质量急剧下降。现在它强制我更新(这绝对荒谬),更新经常不顺利,并且每次更新都越来越妨碍我的工作效率。我受够了,我想找一个更好的反编译工具。有更好的反编译器吗?

更新:

以下是回答中提到的各种替代方案:

- ILSpy

- dotPeek

- JustDecompile

- DisSharper

- Mono Cecil

- Kaliro

- Dotnet IL Editor (DILE)

- Common Compiler Infrastructure

0
0 Comments

问题出现的原因是作者想寻找一个比.NET Reflector更好的替代品。解决方法是作者列举了三个免费的替代品供读者选择。

在我看来,有三个严肃的替代品值得关注,它们都是免费的:

1. ILSpy: 这个工具是由制作免费的 SharpDevelop IDE 的同一团队开发的。它不仅免费,而且是开源的。他们正在开发一个额外的扩展,允许对反编译代码进行调试(这是.NET Reflector的专业版可以做到的),而且效果出奇地好。

2. JustDecompile: 这是 Telerik 推出的一个独立反编译工具(今天刚发布,目前还在测试阶段)。

3. dotPeek: 这是 JetBrains 推出的一个独立反编译工具(目前作为 EAP 的一部分单独提供)。

所有这些工具都以稍微不同的方式解决这个问题,并有不同的用户界面。我建议尝试一下它们,看看哪一个是你喜欢的。

0
0 Comments

由于JetBrains宣布将在ReSharper中添加一个反编译器,并发布一个独立的反编译器,所以出现了“有什么比.NET Reflector更好的工具?”这个问题。JetBrains将发布一个免费的独立反编译器,该工具将允许用户浏览任何合法的.NET编译代码。虽然目前还没有具体发布日期,但该工具将在今年发布,并且是免费提供的。

JetBrains最近发布了一个名为dotPeek的产品,它是一个独立的免费反编译器。用户可以在JetBrains的官方网站上找到并下载该工具。

根据用户的反馈,ReSharper 6 EAP(2011年3月1日发布)中的反编译功能已经非常方便,并且与VS2010集成在一起。虽然JetBrains表示即将发布独立的免费版本,但对于那些已经使用ReSharper的用户来说,v6版本中的反编译功能已经非常好用。

总结起来,JetBrains宣布将在ReSharper中添加反编译器,并发布一个免费的独立反编译器,以替代.NET Reflector。这个问题的解决方法是使用JetBrains的dotPeek工具,这是一个免费的独立反编译器,可以在JetBrains的官方网站上下载。

0
0 Comments

有一个叫做ILSpy的东西,你可以看一下。它是一个开源的.NET程序集浏览器和反编译器。它的开发是在Red Gate宣布免费版本的.NET Reflector将在2011年2月底停止存在之后开始的。

更新:JetBrains发布了dotPeek,它是免费的.NET反编译器。

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

我刚试用了一下ILSpy,效果很好。你可以在build.sharpdevelop.net/BuildArtefacts/#ILSpy下载二进制文件。

ILSpy非常好用,它可以完成我之前需要.NET Reflector来做的所有事情,而且没有时间限制或自动更新到比之前版本还差的新版本。

ILSpy绝对可以与Reflector媲美。dotPeek加载时间较长,下载大小较大。而且它使用空格缩进而不是制表符(并且没有配置选项可进行更改)!:D +1

金牌给了ILSpy,银牌给了dotPeek,铜牌给了JustDecompile。

值得注意的是,如果你点击SourceForge上的“Files”部分,你可以单独安装ILSpy,一些链接会建议你必须安装所有的SharpDevelop才能反编译为C# - 事实上,你只需要安装ILSpy就可以了。

RedGate让我失望了,因为他们大幅提高了价格,并且没有PayPal选项。当我第一次看到时,基本版本的价格是20英镑。现在是65英镑,VS集成的价格更是翻了一倍多。

值得注意的是,截至2015年1月,这些工具都没有提供比最后一个免费版本的Reflector(0.6)更好的VB.NET反编译功能。它们都有一些问题,但Reflector的问题仍然是最小的。

我刚刚注意到我一直在提到Reflector 0.6,但实际上我是指的Reflector 6.8.2.5(它的程序集版本号为5.0.0.0)。我确定我在其他地方也提到了这个错误的版本,但是谷歌和Stack Overflow的搜索没有找到。

试试使用ILSpy搜索反编译的代码吧,祝你好运!

现在ILSpy的状态如何?

我试用了ILSpy和dotPeek,两者都完美地工作。我用dotPeek的GUI和ILSpy的自动化。对于自动化来说,ILSpy非常完美,因为安装(dotnet tool install ilspycmd -g)和命令行使用(ilspycmd file.dll -p -o D:\tmp\ddl_extract)都很容易。

0