如何最好地混淆我的C#产品许可证验证代码?
如何最好地混淆我的C#.net应用程序产品密钥验证代码 把它放在一个“内部密封的类名{}”中就足够了吗?或者我还需要做更多的工作吗如何最好地混淆我的C#产品许可证验证代码?,c#,.net,C#,.net,如何最好地混淆我的C#.net应用程序产品密钥验证代码 把它放在一个“内部密封的类名{}”中就足够了吗?或者我还需要做更多的工作吗 谢谢 访问修饰符,如internal和sealed与混淆或代码安全性无关,它们只是告诉其他类如何与它们交互(或不交互) 归根结底,你无法阻止盗版。一个人创造的任何东西都可能被另一个人打破。如果使用右上角的搜索机制,可以找到大量关于产品密钥、保护软件安全等方面的问题。所有答案都包含了一些基本的想法,任何有点常识的人都会告诉你: 只需在反盗版措施上投入足够的努力,使破解
谢谢 访问修饰符,如
internal
和sealed
与混淆或代码安全性无关,它们只是告诉其他类如何与它们交互(或不交互)
归根结底,你无法阻止盗版。一个人创造的任何东西都可能被另一个人打破。如果使用右上角的搜索机制,可以找到大量关于产品密钥、保护软件安全等方面的问题。所有答案都包含了一些基本的想法,任何有点常识的人都会告诉你:
研究公钥/私钥和椭圆密钥加密,您会找到保护密钥算法的方法,但它只会防止破解密钥,而不会绕过密钥。是正确的,
内部密封类
不会隐藏任何内容。使用单向加密哈希(例如)来保护密码和密钥。 < P>我同意Rex M,你应该考虑使用非对称加密算法,如椭圆曲线密码术来避免密钥。如果你对商业解决方案感兴趣,那么试试吧——它使用椭圆曲线,并且有一些有用的功能,比如产品信息和过期数据嵌入到生成的串行密钥中。Rex M说的是真的。使用公钥/私钥加密方案生成密钥。用Dotfuscator之类的东西混淆代码。但最终,人们仍然可以通过修改可执行文件中的一些条件跳转来破解它。我同意你的第三点,但是一个个人/公司只购买一个许可证,并在多台机器上使用它,因为这需要一些保护,对吗?或者任何PGP系统,真的。将公钥放入应用程序中,并让应用程序开发人员(或公司)持有私钥。