C#这类高级语言,尤其是需要运行环境的语言,如果没有混淆,非常容易反编译。原理C#为MSL微软中间语言,而中问语言与原语言本身较为相似,加上保留的元信息(记录类名、成员函数等信息)就可以反向生成源代码,注意是由反编译器生成,不会与源码完全相同,但可以编译通过。这些特性本身是为反射技术准备的,却被反编译器利用,现在的C#反编译器IL Spy甚至可以反向工程。