否.Reflector会像.NET运行时一样查看程序集,以便生成要执行的本机代码.您可能希望的最好的方法是混淆您的代码并使其(有些)更难以理解.
如果您混淆商业.Net应用程序,可以找到执行混淆的一些优点和缺点吗?
没有办法阻止 .net 代码的反编译,也就是说,好的混淆器会使反射代码更难阅读,其中一些像 dotfuscator 会阻止反射器显示 C# 代码;但是,您始终能够看到 IL。
Dotfuscator 中的选项之一是使用不可打印的名称(反射器上的反射),恕我直言,这使得反编译极其困难。
微软曾经销售软件保护和许可服务,该服务将加密 IL 并使用与加密密钥绑定的自定义 VM,从而防止使用传统工具进行反映。这会带来巨大的性能成本,但如果您想保护关键算法或例如您的许可代码,那么它是很好的。
http://msdn.microsoft.com/en-us/slps/default.aspx