【发布时间】:2010-10-09 09:31:51
【问题描述】:
我正在寻找反汇编器或更好的.net 反编译器。情况是我的一位前辈编写的程序集的源代码丢失了,我想看看它在做什么。
我知道 ildasm 附带 Visual Studio 安装,因此我可以获取 MSIL,但我希望有一个足够聪明的程序可以返回 C# 代码(或最佳近似值)。
有什么工具可以解决这个问题吗?
(如果没有,我想这将是我坐下来开始学习 MSIL 的好借口)
【问题讨论】:
我正在寻找反汇编器或更好的.net 反编译器。情况是我的一位前辈编写的程序集的源代码丢失了,我想看看它在做什么。
我知道 ildasm 附带 Visual Studio 安装,因此我可以获取 MSIL,但我希望有一个足够聪明的程序可以返回 C# 代码(或最佳近似值)。
有什么工具可以解决这个问题吗?
(如果没有,我想这将是我坐下来开始学习 MSIL 的好借口)
【问题讨论】:
现在 Red Gate 已开始对 .NET Reflector 工具收费,您可能想查看这些免费的替代品...
【讨论】:
【讨论】:
Reflector 是一种可行的方法,但如果由于某种原因您不能使用它,Microsoft 会在框架中附带一个名为 ILDasm 的反汇编程序。
关于 MSIL 知识的一个很好的来源是 Serge Lidin 的书 Expert .NET 2.0 IL Assembler。
【讨论】:
.NET Reflector 是常用的工具。
【讨论】:
【讨论】:
好的,
我尝试了一个项目。 ILSpy
Telerik JustDecompile
.NET 反射器演示
所有人都可以创建 Visual C# 项目。 生成的代码没有为 JustDecompile 和 Reflector 编译。 在一种情况下,ILSpy 编写了一个可编译的代码(只需设置引用) IlSpy 的错误看起来不像其他错误那样复杂。 如果足够了解 C#,所有生成的代码都可以修复。
一个有趣的方向可用于同时使用 JustDecompile 和 Ilspy 反编译代码并合并正确的代码,因为这些反编译器(以及第三个)似乎会犯不同的错误。
【讨论】: