.Net Assemblies将编译器转换为C#的反编译器源代码
问题描述:
我很清楚,可以使用反射器浏览程序集内的内容,并且可以使用FileDisassembler将内容转换为cs项目的c#源代码。但是FileDisassembler
输出的源代码可能无法编译,如果它具有与属性的接口。.Net Assemblies将编译器转换为C#的反编译器源代码
FileDisassembler
是做什么的其他类似的应用程序?
答
我不信任Reflector的反编译器。
很多时候我看到它只是忽略它不理解的指令,或者只是优化了某些序列,改变了过程的含义。
唯一可靠的方法是使用IL。
关于更多工具,请看CCI。 IIRC,他们在某个阶段有一个C#源码发射器,但由于某种原因它被移除了。
答
jetBrains的dotPeek是c#的一个很好的反编译器。 http://confluence.jetbrains.net/display/NETPEEK/dotPeek+Early+Access+Program
@leppie,关于使用IL,任何工具呢? – Graviton 2010-02-17 07:45:57
@Ngu Soon Hui:CCI很好(往返旅程非常好),否则你可以尝试Cecil或ildasm/ilasm。 – leppie 2010-02-17 08:00:46
你可能会误解我的问题。我正在寻找一个反编译器,将.Net dll/exe反编译成C#项目,我认为CCI不这样做。 – Graviton 2010-02-22 06:31:20