【发布时间】:2011-12-09 04:35:51
【问题描述】:
我将创建一个将在客户端计算机上运行的应用程序。该程序将允许客户使用该软件N次,然后客户能够再次使用该软件,他/她需要购买X次才能使用该软件。这就像购买许可证或令牌(我不知道它们是否相同,因为我的英语不是那么好)。
我正在考虑创建一个 .lic 或 .txt 或其他任何内容,它们将被加密,并且当使用新的 .lic 或 .txt 等更新时,它会更改客户端能够执行的次数使用该软件。
问题是我认为这种方法不是很可靠,因为即使加密,客户端也能以某种方式破解并理解这个文件。
有人可以帮我找出解决方案吗?
PS:该软件无法通过互联网验证,客户端必须能够离线使用该软件,如果不是,我将通过互联网验证该软件的使用,不会出现此问题。
【问题讨论】:
-
您如何跟踪软件运行的次数?这似乎比破解加密许可证更容易被利用。
-
无论您做什么,加密密钥都必须始终位于客户端系统的某个位置。没有办法完全确保这一点,您只能尝试让客户难以破坏您的设计。
-
回答第一条评论:我仍然没有办法监控客户端使用软件的次数。我正在考虑通过 alicense 文件或类似的东西来做这件事。回答第二个问题:就像我在想的那样。我必须创建一个加密文件,每次客户使用该软件时都会更改该文件。我还有其他方法可以为用户制造更多障碍吗?
-
这样的系统真的很容易被破解……你只需要保留一份原始许可证文件的副本,当你用完信用时把这个副本放回去
-
你说得对。我没有想到这一点。有什么改进建议吗?
标签: c# security file encryption