存在哪些CLR / .NET字节码工具? [关闭]
题
我非常了解用于操作,生成,反编译JVM字节码(ASM,cglib,jad等)的Java工具。 CLR字节码有哪些类似的工具?人们为CLR做字节码操作吗?
解决方案
字节码是二进制格式。 .NET程序集在存储执行指令方面的工作方式非常不同。
不是编译成类似字节码的结构,而是将.NET语言编译成中间语言(事实上,它只被称为IL)。
这是一种人类可读的语言,看起来有点像汇编程序的面向对象版本。
因此,在检查或操作各个装配体的IL时,Reflector和ILDASM等工具可以方便地查看任何装配体的IL。
操作有点不同,我建议看一下.NET空间中的一些AOP工具。我还建议看一下Phoenix,这是MS正在开发的一个编译器项目。它有一些非常酷的编译后操作功能。
如果您想了解有关.NET AOP工具的更多信息,我建议您再打开另一个问题(这是另一个问题)。
还有几本书会教你IL的来龙去脉。这不是一门非常复杂的语言。
其他提示
反射器总是很好,但Mono.Cecil是你可能要求的最好的工具。它以任何方式操纵CIL都是非常宝贵的。
Mono.Cecil 是一款非常棒的工具,如ASM。这是Mono的子项目,完全开源。它甚至提供更好的功能比System.Reflection。
不隶属于 StackOverflow