逆向工程C#解决方案构建获取源代码

时间:2012-07-09 12:12:35

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

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

Reverse Engineering a C# Solution

Are there good tools for C# reverse engineering?

以上网址似乎可能重复。我没有在网上找到任何与我的问题相关的答案,所以我在这里问。我想问的是,我可以使用Visual Studio 2008 Professional版本生成的C#解决方案构建并生成源代码吗?

我不关心UML图表,就像那些网址中发布的上述问题一样,我想获得源代码。

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

2 个答案:

答案 0 :(得分:7)

www.reflector.net非常适合这一点。

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

using System;

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

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

VS

Reflector反编译代码如下:

Reflector

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

希望这有帮助

答案 1 :(得分:6)

  

我可以使用Visual Studio 2008 Professional版本生成的C#解决方案构建版本   生成源代码?

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

内部变量命名之类的东西可能会有所不同。会失踪。编译器优化的东西可能不同

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