【问题标题】:Best way to restrict program for one day [closed]将程序限制一天的最佳方法[关闭]
【发布时间】:2012-08-01 15:55:44
【问题描述】:

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

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

提前致谢。

【问题讨论】:

标签: c# licensing restriction


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2010-11-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 2020-10-28
      • 2015-03-22
      相关资源
      最近更新 更多