有没有一种方法(可靠的,最好是非商业的)来防止Reflector反映我的源代码?
谢谢,阿迪
发布于 2008-12-15 12:15:47
不是的。Reflector会像.NET运行时一样查看您的程序集,以便生成要执行的本机代码。你所能期望的最好的结果就是obfuscate你的代码,让读者更难理解它。
可以在Should you obfuscate a commercial .Net application?上找到执行模糊处理的一些优点和缺点
发布于 2008-12-15 13:41:52
没有办法阻止.net代码的反编译,也就是说,一个好的混淆程序会使反射的代码更难阅读,其中一些像dotfuscator会阻止反射器显示C#代码;但是,你总是能够看到IL。
Dotfuscator中的一个选项是使用不可打印的名称(在反射器上反射),这使得反编译非常困难。
微软曾经销售一个软件保护和许可服务,它将加密IL,并使用与加密密钥绑定的自定义VM,这将阻止使用传统工具进行反射。这会带来巨大的性能成本,但是如果您想要保护关键算法或例如您的许可代码,这是很好的。
http://msdn.microsoft.com/en-us/slps/default.aspx
发布于 2008-12-15 12:23:58
试试dotfuscator。2005/2008有一个社区版。如果做不到这一点,请重新架构您的代码(痛苦),即由.NET组件调用的ATL/COM对象(私有)(公共)。
这是你的选择。
https://stackoverflow.com/questions/368180
复制相似问题