我过去很喜欢使用 .NET Reflector,但自从 Red Gate Software 接管后,它急剧走下坡路。现在它强制要求我更新(这绝对是荒谬的),一半的时间更新不顺利,每次更新都越来越妨碍我的工作效率。我受够了,准备寻找更好的反编译工具。是否有更好的反汇编器?
更新:
回答中提到的各种替代品清单-
我过去很喜欢使用 .NET Reflector,但自从 Red Gate Software 接管后,它急剧走下坡路。现在它强制要求我更新(这绝对是荒谬的),一半的时间更新不顺利,每次更新都越来越妨碍我的工作效率。我受够了,准备寻找更好的反编译工具。是否有更好的反汇编器?
更新:
回答中提到的各种替代品清单-
更新:JetBrains发布了dotPeek,它是免费的.NET反编译器。 更新2:Telerik也有一个免费的反编译器:JustDecompile。ILSpy是开源的.NET程序集浏览器和反编译器。
在Red Gate宣布免费版.NET Reflector将在2011年2月底停止存在之后,开始了开发工作。
我认为有三个值得关注的严肃选择,所有这些选择都是免费的:
所有这些方法都以稍微不同的方式处理问题,并具有不同的用户界面。我建议你尝试它们并看看哪一个更适合你。
以下还有一些未提及的工具:
Mono Cecil:使用Cecil,您可以加载现有的托管程序集,浏览其中包含的所有类型,动态修改它们并将修改后的程序集保存回磁盘。
Kaliro:这是一个用于探索使用Microsoft.Net框架构建的应用程序内容的工具。
Dotnet IL Editor (DILE):Dotnet IL Editor (DILE)允许在没有源代码或.pdb文件的情况下反汇编和调试.NET 1.0/1.1/2.0/3.0/3.5应用程序。它甚至可以在IL级别上调试自身或.NET Framework的程序集。
Common Compiler Infrastructure:微软研究院通用编译器基础结构(CCI)是一组库和应用程序编程接口(API),支持编译器和相关编程工具通用的某些功能。 CCI主要由创建、修改或分析.NET可移植可执行(PE)和调试(PDB)文件的应用程序使用。
我们不使用自动更新程序,而是将EXE文件的属性设置为只读。这样它就不会删除该文件。
我不确定你真正想要什么。如果你想查看.NET框架源代码,你可以尝试使用Netmassdownloader。它是免费的。
如果你想查看任何程序集的代码(不仅仅是.NET),你可以使用ReSharper。虽然它不是免费的。
9Rays以前有一个反编译器,但我已经很久没有检查过了。我记得它不是免费的...
还有一个新的(至少对我来说是新的)叫做Dis#。