【问题标题】:.NET Reflector error in generating code.NET Reflector 生成代码时出错
【发布时间】:2011-07-29 11:50:35
【问题描述】:

我使用 Reflector 6.8 反汇编了一个二进制文件。它显示类树视图。甚至是类的方法声明,但是“扩展方法”会出现一些错误,例如“条件表达式翻译期间的块语句计数为 0”

然后我尝试使用 Telerik 的 JustDecompile(测试版),它适用于我拥有的 10-15 个程序集中的 1 个。但是对于另一个程序集,它只是在内存中飙升到 1.5 GB 并挂起。

还有其他稳定的反编译器可以用来生成 C# 代码吗?

【问题讨论】:

    标签: decompiling .net-reflector


    【解决方案1】:

    我知道的唯一另一个是IL Spy

    你应该向 Red Gate 的人报告 Reflector 中的错误。

    【讨论】:

    • 谢谢。我报告了。并且正在尝试 ILSpy .. 似乎效果很好。我注意到的一件事是,它在每个方法和属性的开头都生成了一些奇怪的嵌套 while 循环。虽然那个循环有中断,它就像 NOP。 while(true) { while(!true) {....} 中断; } :-)
    【解决方案2】:

    no-op 循环可能是由某些混淆器添加的。

    【讨论】:

      【解决方案3】:

      根据现有信息,我相信您可能正在使用混淆程序集。

      当前的 Telerik JustDecompile beta (2011.1.728.1) 不支持反编译混淆程序集。但是,它在反编译非混淆程序集方面非常有效,并且每次更新时它的内存占用都越来越小。您观察到的内存使用情况异常。如果您可以通过电子邮件分享有关您正在使用的程序集的更多详细信息,我们将尝试重现并修复此特定案例(chris.eargle [at] telerik.com)。

      同时,如果您希望在未来的 JustDecompile 更新中获得对混淆程序集的更多支持,请分享您对 JustDecompile UserVoice 的反馈,以便其他人可以为这个想法投票:http://justdecompile.uservoice.com

      【讨论】:

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