.Net Assemblies将编译器转换为C#的反编译器源代码

问题描述:

我很清楚,可以使用反射器浏览程序集内的内容,并且可以使用FileDisassembler将内容转换为cs项目的c#源代码。但是FileDisassembler输出的源代码可能无法编译,如果它具有与属性的接口。.Net Assemblies将编译器转换为C#的反编译器源代码

FileDisassembler是做什么的其他类似的应用程序?

我不信任Reflector的反编译器。

很多时候我看到它只是忽略它不理解的指令,或者只是优化了某些序列,改变了过程的含义。

唯一可靠的方法是使用IL。

关于更多工具,请看CCI。 IIRC,他们在某个阶段有一个C#源码发射器,但由于某种原因它被移除了。

+0

@leppie,关于使用IL,任何工具呢? – Graviton 2010-02-17 07:45:57

+0

@Ngu Soon Hui:CCI很好(往返旅程非常好),否则你可以尝试Cecil或ildasm/ilasm。 – leppie 2010-02-17 08:00:46

+0

你可能会误解我的问题。我正在寻找一个反编译器,将.Net dll/exe反编译成C#项目,我认为CCI不这样做。 – Graviton 2010-02-22 06:31:20

jetBrains的dotPeek是c#的一个很好的反编译器。 http://confluence.jetbrains.net/display/NETPEEK/dotPeek+Early+Access+Program