1

我有这个程序,我需要限制它。但我不知道哪种方式最好。当我运行程序时,我要求提供注册密钥和用户名。然后取username+somestring+DateTime.Now。将其转换为哈希并与密钥进行比较。如果然后使用用户名和密钥true保存在文件中。AppData并且在运行程序时也这样做。并从此字符串获取日期。如果DateTime.Now.Day != DateFromString.Day那么false. 但是如果用户删除这个文件并更改时间然后注册......他可以打开它。

增加一天限制的最佳方法是什么?

提前致谢。

4

2 回答 2

1

如果您给您的用户一些软件来检查计算机自己的时钟,那么它可以通过更改时钟来轻松欺骗。

稍微好一点的是让您的程序通过服务器进行身份验证。但是您的用户将需要访问 Internet 才能使用您的程序。并且熟练的用户仍然可以更改程序以跳过检查。

如果你给你的用户一些软件,那么你就不能 100% 可靠地阻止他们修改和运行它。

于 2012-08-03T15:16:33.533 回答
1

您需要以独特的方式识别安装了您的程序的机器。
看看这个问题的最佳投票答案
使用密钥加密获得的字符串并将其发送到您可以控制的 Web 服务。

Web 服务将加密字符串与首次运行的数据一起注册到数据库中。
在您的程序下一次运行时,再次向 Web 服务发送相同的加密字符串。
Web 服务根据数据库检查字符串和日期并发回结果。

这不是您问题的绝对解决方案,可能会被愚弄。
至少这需要一台不同的机器、一个虚假的网络服务或破解你的代码。

于 2012-08-03T15:22:28.720 回答