【问题标题】:Reverse engineering C# solution build to get source code逆向工程 C# 解决方案构建以获取源代码
【发布时间】:2012-07-09 12:12:34
【问题描述】:

首先,当我四处寻找答案时,我发现了这些:

Reverse Engineering a C# Solution

Are there good tools for C# reverse engineering?

上面的 url 看起来可能是重复的。我没有在网上找到与我的问题有关的任何答案,所以我在这里问。我想问的是,我能不能把Visual Studio 2008专业版生成的C#解决方案生成源码

我不关心这些url中发布的上述问题的UML图,我想获取源代码。

我的应用程序在 ASP.NET 中,但我只为它构建了一个解决方案,我需要我没有的源代码。

【问题讨论】:

  • 这个问题有什么不同?
  • dotPeek 是一个免费的反编译器。
  • @MihalisBagos 这两个问题都要求 UML 图,我特别列出了我不想要 UML 图。
  • 第一个 url 的问题:“我想要一些关于如何将 C# 解决方案逆向工程为依赖关系图、序列图和类图的建议。”第二个 url 的问题“我需要 UML-class-diagrams我写的软件,我不想自己画这些图表。” 伙计们,在你对那些看不懂的人进行投票或 +1 大礼包之前,请学会正确阅读问题和细节。
  • 您链接到的第二个问题中接受的答案有一个您可以使用的工具(“.NET 反射器”),并且 cmets 表明一个插件可用于根据编译的文件生成项目/解决方案.这似乎与您的问题有关。

标签: c# asp.net visual-studio-2010 visual-studio-2008


【解决方案1】:

www.reflector.net 非常适合这个。

例如,这里有一些 C# 代码:

using System;

namespace HW
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Foo Bar");
        }
    }
}

编译后,Visual Studio 会生成以下文件:

Reflector 反编译代码如下:

就像 TomTom 所说,它不是相同的代码,但这对于发现程序的工作原理仍然很有用。

希望对你有帮助

【讨论】:

    【解决方案2】:

    我可以采用 Visual Studio 2008 专业版生成的 C# 解决方案构建吗? 生成源代码?

    没有。您可以获得一个 .NET dll(没人关心它是如何生成的),如果它没有加密,则让反编译器生成一些代码,但它不会是源代码。

    内部变量命名之类的东西可能会有所不同。评论将丢失。编译器优化出来的东西可能不同

    例如,bytes / 1024 / 1024 将是 byte / 1048576,因为常量表达式没有进入 DLL。

    【讨论】:

      猜你喜欢
      • 2011-06-07
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-22
      相关资源
      最近更新 更多