【问题标题】:A .net disassembler/decompiler [closed]一个.net反汇编器/反编译器[关闭]
【发布时间】:2010-10-09 09:31:51
【问题描述】:

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

我知道 ildasm 附带 Visual Studio 安装,因此我可以获取 MSIL,但我希望有一个足够聪明的程序可以返回 C# 代码(或最佳近似值)。

有什么工具可以解决这个问题吗?

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

【问题讨论】:

    标签: c# .net cil


    【解决方案1】:

    现在 Red Gate 已开始对 .NET Reflector 工具收费,您可能想查看这些免费的替代品...

    Telerik JustDecompile

    JetBrains dotPeek

    (Open Source) ILSpy

    【讨论】:

    • 刚刚试用了 ILSpy 测试版,对我来说它和 Reflector 一样好。减去许可的麻烦。
    • dotPeek 是一个评估副本——看起来几乎和 Reflector 一样好,但运行起来似乎慢了一点。 ILSpy 帮了我大忙,虽然它的界面不是很流畅——成员排序和泛型处理都有些不足,但足够好,尤其是在价格上!
    • 自 2012 年起,dotPeek 现已完全免费,不再是 eval 试用版。
    【解决方案2】:

    【讨论】:

    • 虽然我愿意同意 anakata 的观点,但显然他/她是错误的。反光板 = 双棒! :)
    • 红门最初没有写Reflector。我从他们那里使用的唯一其他工具(用于 SQL Server 2005 的 SQL Intellisense)速度很慢。 :)
    • 不再免费
    【解决方案3】:

    Reflector 是一种可行的方法,但如果由于某种原因您不能使用它,Microsoft 会在框架中附带一个名为 ILDasm 的反汇编程序。

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

    【讨论】:

      【解决方案4】:

      .NET Reflector 是常用的工具。

      【讨论】:

        【解决方案5】:

        【讨论】:

          【解决方案6】:

          好的,

          我尝试了一个项目。 ILSpy

          Telerik JustDecompile

          .NET 反射器演示

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

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

          【讨论】:

            猜你喜欢
            • 2014-08-28
            • 1970-01-01
            • 2012-03-08
            • 2014-06-26
            • 2010-09-17
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多