代码之家  ›  专栏  ›  技术社区  ›  Tangiest

反射器的开源替代品?[关闭]

  •  419
  • Tangiest  · 技术社区  · 16 年前

    只是问问有没有人知道 开放源代码 替代Redgate Reflector 是吗?我想看看类似于Reflector的工具是如何工作的。

    注意,如果你知道一个自由但是 不 除了Reflector之外,您还可以回答以下相关问题:

    摘要-2011年5月11日更新

    对已建议的各种开放源代码项目和工具的快速汇总:

    1. Common Compiler Infrastructure (CCI)
    2. Mono Cecil
    3. ILSpy
    4. dnSpy (Ilspy的分叉,项目看起来比原来更活跃)
    5. Dotnet IL Editor (DILE)
    6. IL.View
    7. Monoflector ( no longer active 截至2011年4月)

    以下资源也可能是有意义的:

    10 回复  |  直到 9 年前
        1
  •  31
  •   leppie    16 年前

    我知道2种选择。

    但是这些不会给你C。

        2
  •  175
  •   Tangiest    14 年前

    2011年12月13日更新

    以下开放源码工具可用:

        3
  •  38
  •   Ferdinand Prantl    15 年前

    另一个替代品是 dotPeek . JetBrains宣布它是一种免费工具。当与它们一起使用时,它可能会有更多的功能 Resharper 但即使单独使用,它也能很好地工作。

    用户体验更像是MSV,而不是独立的反汇编程序。我更喜欢代码阅读而不是反射器。ctrl+t导航也更适合我。只需将树与代码窗格同步就可以了。

    总之,它仍然在开发中,但是已经非常有用了。

        4
  •  15
  •   ray glover    15 年前

    Telerik今天发布了他们自己的解压工具的测试版, JustDecompile . 闭源,但免费,看起来很有前途。

        5
  •  12
  •   Uwe Keim    9 年前

    ILSpy 工作很棒!

    据我所知,它做了反射镜做的一切,看起来也一样。

        6
  •  10
  •   Jason Haley    11 年前

    实际上,我很确定Reflector被认为是具有反编译功能的反汇编程序。反汇编程序,因为它从程序集文件中读取字节并将其转换为程序集语言(在本例中是ILASM)。它提供的反编译程序功能是将IL解析成众所周知的模式(如表达式和语句),然后转换成更高级的语言,如C、VB.NET等。如果您愿意,Reflector的加载项API允许您编写自己的语言转换器…然而,它如何将IL解析为表达式树的魔力是一个严密保护的秘密。

    如果你想了解IL反汇编器的工作原理,我建议你看看上面提到的三件事情中的任何一件:DILE、CCI和MONO都是这些东西的好来源。

    我还强烈建议您也购买ECMA335规格和SergeLidin的书。

        7
  •  8
  •   Joe White    15 年前

    我使用Reflector的主要原因(我认为,大多数人使用它的主要原因)是因为它的反编译器:它可以将方法的IL转换回源代码。

    就这一点而言, Monoflector 将是值得关注的项目。它使用做反射的cecil和做反编译的cecil.decompiler。但是monoflector在这两个库的基础上分层了一个UI,这应该让您对如何使用API有一个非常好的了解。

    单反射镜也可以直接代替反射镜。它允许您浏览类型并反编译方法,这是人们使用Reflector的99%。边缘很粗糙,但我想变化会很快。

        8
  •  5
  •   Andrew Hare    16 年前

    好吧,Reflector本身是一个.NET程序集,所以您可以在Reflector中打开Reflector.exe来检查它是如何构建的。

        9
  •  3
  •   Codewhisperer84    15 年前

    我目前正在开发一个名为汇编分析器的开源反汇编程序/反编译程序。它为方法生成源代码,显示程序集元数据和资源,并允许您遍历依赖项。

    该项目托管在codeplex=> http://asmanalyzer.codeplex.com/

        10
  •  1
  •   Cheeso    15 年前

    反射工具使用反射。 -显然这是不正确的。

    您要求两件事-代码显示什么反射器做,以及一个替代反射器。

    下面是一个例子,从反射镜的功能中简化了很多,但它展示了反射技术: TypeView.cs

    我没有建议更换开源反射器。

    推荐文章