一个.net反汇编程序/反编译程序

时间:2009-02-23 19:03:01

标签: c# .net cil

我正在寻找一个或更好的反汇编程序,一个.net的反编译器。情况是由我的一位前任编写的汇编的源代码丢失了,我想看看它正在做什么。

我知道ildasm附带了Visual Studio安装,所以我可以使用MSIL,但我希望有一个程序聪明,可以回到C#代码(或最佳近似值)。

那里有没有这方面的工具?

(如果没有,我想这对我坐下来开始学习MSIL是一个很好的借口)

6 个答案:

答案 0 :(得分:55)

既然Red Gate已开始为.NET Reflector工具收费,您可能想要查看这些免费替代品......

Telerik JustDecompile

JetBrains dotPeek

(Open Source) ILSpy

答案 1 :(得分:40)

你看过Reflector了吗?

http://www.red-gate.com/products/reflector/

答案 2 :(得分:7)

Reflector是可行的方法,但是如果由于某种原因你不能使用它,那么微软会发布一个名为ILDasm的反汇编程序。

MSIL知识的一个很好的来源是Serge Lidin的书Expert .NET 2.0 IL Assembler

答案 3 :(得分:2)

.NET Reflector是此常用工具。

答案 4 :(得分:1)

答案 5 :(得分:1)

确定,

我尝试了一个项目。 ILSpy

Telerik JustDecompile

.NET Reflector演示

所有人都可以创建Visual C#项目。 生成的代码没有为JustDecompile和Reflector编译。 在一个案例中,ILSpy编写了一个编译的代码(只需要设置引用) IlSpy的错误看起来并不像其他人那样复杂。 如果一个人足够了解C#,那么所有生成的代码都可以修复。

可以使用一个有趣的方向来使用JustDecompile和Ilspy反编译代码并合并正确的代码,因为这些反编译器(以及第三个反编译器)似乎会出现不同的错误。