我正在使用C#,用户输入一个密钥来激活我的程序。我不希望用户在输入密钥后能够看到它。关于如何/在哪里存储它,你有什么建议吗?
发布于 2009-09-01 06:15:31
您可以将密钥另存为单独的文件。加密密钥并保存它。因此,即使用户试图篡改它,您也可以停用该应用程序。
您可能会对codeplex中的这个项目感兴趣:http://licenser.codeplex.com/
编辑:一些需要你检查的问题。
发布于 2009-09-01 07:21:04
忘记试图隐藏您保存许可证密钥的位置-您将无法阻止坚定的用户,并且如果您尝试将许可证信息存储在“奇怪”的位置,您只会激怒系统管理员。忘记所有关于尝试存储在您运行的可执行文件中的一切,这很难以万无一失的方式完成,并且会触发许多杀毒软件。
如果你想要防篡改的东西,去找一个商业解决方案;如果这听起来很苛刻,很抱歉,但考虑到你问的是这样一个问题,你是不会想出任何很难破解的东西。
发布于 2009-09-01 06:26:38
你当然可以在可执行文件的资源中存储一个键,它的过程相当长,有几个可用的API,如OpenResource,GetResourceData和UpdateResource,资源是不容易访问的,除非你安装了visual studio工具。
但是你不能修改当前运行的可执行文件的资源,但你可以创建不同的激活程序来加载你的主要可执行文件,修改资源并保存它。
https://stackoverflow.com/questions/1360749
复制相似问题