首先,当我在寻找答案时,我发现了这些:
Reverse Engineering a C# Solution
Are there good tools for C# reverse engineering?
以上网址似乎可能重复。我没有在网上找到任何与我的问题相关的答案,所以我在这里问。我想问的是,我可以使用Visual Studio 2008 Professional版本生成的C#解决方案构建并生成源代码吗?
我不关心UML图表,就像那些网址中发布的上述问题一样,我想获得源代码。
我的应用程序是在ASP.NET中,但我只有一个解决方案构建,我需要我没有的源代码。
答案 0 :(得分:7)
www.reflector.net非常适合这一点。
例如,这里有一些C#代码:
using System;
namespace HW
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Foo Bar");
}
}
}
编译时,Visual Studio会生成以下文件:
Reflector反编译代码如下:
就像TomTom所说,它不是相同的代码,但这对于发现程序的工作原理仍然很有用。
希望这有帮助
答案 1 :(得分:6)
我可以使用Visual Studio 2008 Professional版本生成的C#解决方案构建版本 生成源代码?
没有。你可以获得一个.NET dll(没人关心它是如何生成的)并让反编译器生成一些代码(如果它没有加密),但它不是源代码。
内部变量命名之类的东西可能会有所不同。会失踪。编译器优化的东西可能不同
例如,bytes / 1024/1024将是byte / 1048576,因为常量表达式不会进入DLL。