我正在寻找一款 .net 的反汇编工具或更好的反编译工具。情况是,我的前任写的一个程序集的源代码丢失了,我想看一下它在做什么。
我知道 Visual Studio 安装附带了 ildasm,因此我可以获取 MSIL,但我希望有一款聪明到足以反向转换成 C# 代码(或最佳近似)的程序。
有这样的工具吗?
(如果没有,我想这将是一个很好的借口让我坐下来开始学习 MSIL)
好的,
我试过一个项目。 ILSpy
Telerik JustDecompile
.NET Reflector Demo
所有这些工具都可以创建Visual C#项目。 生成的代码在JustDecompile和Reflector中无法编译。 在某些情况下,ILSpy生成的代码是可以编译的(只需要设置引用)。 ILSpy产生的错误看起来并不像其他工具那样复杂。 如果你足够了解C#,所有生成的代码都可以进行修复。
一个有趣的方向可以使用JustDecompile和ILSpy同时反编译代码,并合并那些正确的代码,因为这些反编译器(以及第三方反编译器)似乎会出现不同的错误。