只是想问问有没有人知道RedGate的Reflector的开源替代品?我感兴趣的是检查类似于反射器的工具是如何工作的。
注意,如果你知道一个免费但非开源的Reflector替代品,你可以回答以下相关问题:
比。net反射器更好的东西?
总结- 2011年5月11日更新
以下是各种开源项目和工具的简要介绍:
通用编译器基础结构(CCI)
Mono塞西尔
ILSpy
dnSpy (ILSpy的分支,项目看起来比原来更活跃)
Dotnet IL编辑器(DILE)
IL.View
Monoflector(2011年4月不再活跃)
你可能也会对以下资料感兴趣:
TypeView.cs
Jason Haley关于分解。net的笔记
Adrian Bank最近的博客文章总结了一些Reflector的替代品,包括下面没有提到的几个选项。
Mark Lichtenberg详细的博客文章比较了几个开源替代品(DILE, ILSpy和Mono Cecil使用MonoDevelop)和Reflector。
Actually, I'm pretty sure Reflector is considered a disassembler with some decompiler functionality. Disassembler because it reads the bytes out of an assembly's file and converts it to an assembly language (ILasm in this case). The Decompiler functionality it provides by parsing the IL into well known patterns (like expressions and statements) which then get translated into higher level languages like C#, VB.Net, etc. The addin api for Reflector allows you to write your own language translator if you wish ... however the magic of how it parses the IL into the expression trees is a closely guarded secret.
如果你想了解IL反汇编程序是如何工作的,我建议你看看上面提到的三件事中的任何一件:Dile, CCI和Mono都是很好的来源。
我也强烈推荐Ecma 335规格和Serge Lidin的书。