【问题标题】:Best disassembler tool for the .NET reflector?.NET 反射器的最佳反汇编工具?
【发布时间】:2011-01-13 18:49:46
【问题描述】:

.NET 反射器最好的反汇编工具是什么?

最好的意思是,将 .NET 程序集保存为反汇编状态,可读性最高,最有可能通过较少的更改进行编译。

我当前使用的没有显示简化的枚举,而是显示了完整的 IEnumerable 实现,带有 MoveNext 等,成员名称如下:

this.<>4__state
CS$<>9__CachedAnonymousMethodDelegate3

顺便说一句,我不是想窃取代码,只是在已经存在的程序集中尝试某些东西,而不是从头开始编写类似的东西。最后,我将从中学到的东西会保留下来,而不是修改后的程序集。

【问题讨论】:

  • Ctrl+C, Ctrl+V + 修改通常对我有用。
  • 谢谢,它也以这种方式显示成员,例如不符合条件或使用 $ 等无效字符。
  • 只有 Lutz Roeder 足够聪明,可以编写反编译代码。他很忙,微软雇用了他。不要指望他再过 7 年重新浮出水面。

标签: c# .net reflector disassembly


【解决方案1】:

Red Gate 已修复了几个反编译错误,目前可在 Reflector 7 测试版中下载,网址为:http://reflector.red-gate.com/Download.aspx(它是页面右侧的大红色按钮)。

您可能还想确保反汇编程序使用 .Net 4 优化 - 这为自动属性和其他新语法内容等内容提供最接近实际的源代码。您可以通过转到视图 -> 选项来检查这一点,并确保在优化列表中选择的项目是 .NET 4.0。

祝你好运。

【讨论】:

  • 谢谢,它确实有效,不是在所有情况下都 100%,但非常好。
【解决方案2】:

在 www.DigitalbodyGuard.com 上查看 GrayWolf

具有查看IL和C#的能力,以及编辑IL的基本能力

享受

【讨论】:

    【解决方案3】:

    AFAIK 他们将生成大致相同的代码,因为 Reflector 实际上是将 IL 转换为 C#,而不是 Reflector 插件。

    我会使用Reflector.FileDisassembler 并修复代码。如果是很多代码,那可能是一项相当大的工作量。

    【讨论】:

      猜你喜欢
      • 2011-08-09
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多