2012-07-09 132 views
0

要开始了,而我的答案摸索,我发现这些:逆向工程C#解决方案生成获得源代码

Reverse Engineering a C# Solution

Are there good tools for C# reverse engineering?

上述网址看起来像一个可能重复。我没有在网上找到与我的问题有关的任何答案,所以我在这里问。我想问的是,我可以采用由Visual Studio 2008 Professional版本生成的C#解决方案版本,并生成源代码

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

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

+1

这个问题有什么不同? – 2012-07-09 12:15:03

+2

[dotPeek](http://www.jetbrains.com/decompiler/)是一个免费的反编译器。 – Batuu 2012-07-09 12:15:40

+0

@MihalisBagos这两个问题都需要UML图表,我特别列出了我不想要的UML图表。 – Bulvak 2012-07-09 12:18:15

回答

7

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

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

using System; 

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

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

VS

反射反编译的代码是这样的:

Reflector

像TomTom说的那样,它不是相同的代码,但是这仍然有助于发现程序的工作方式。

希望这会有帮助

+0

感谢您使用此工具! – Bulvak 2012-07-09 12:44:54

6

我可以采取由Visual Studio 2008 Professional版本生成的C#解决方案构建和 生成源代码吗?

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

像内部变量命名的东西可能会有所不同。结果将会丢失。编译器优化出来的东西可能会不同

例如,字节/ 1024/1024将是字节/ 1048576,因为常量表达式不会将其放入DLL中。