0

我有节点锁定许可,使用 MAC 地址和系统时间。我们担心人们只会编辑他们的系统日期来延长许可证,所以我尝试从 NTP 池中的机器获取真实日期。这行得通,但显然你不能在不在线的情况下使用该产品,而且它似乎不是 100% 可靠的(我猜 UDP 数据包在某些情况下永远不会到达/返回)。

这里的标准方法是什么?忍受可变的操作系统日期?在通过 TCP 提供时间的 Web 服务器上运行一些东西?我听说 BIOS 日期会在您重新启动时由操作系统更新,所以也许没有任何方法可以在不使用互联网的情况下确定当前日期?

我知道许可永远不会完全安全,我希望它会被破解或下载,但我不希望它像更改系统日期那样简单。任何想法表示赞赏。谢谢

4

1 回答 1

1

除了日期之外,使用硬盘驱动器序列号将更难以绕过。您也可以将其限制为用户登录名。除了拥有硬件加密狗之外,始终可以规避软件许可。

更新:如果是这样的话,你不能只监控时间吗?创建一个算法来验证系统时钟是否遵循逻辑进程(总是增加)。如果日期突然向后移动超过指定的时间量(你必须考虑一些漂移和互联网时间服务器更正),你禁用程序直到用户恢复时钟?

于 2009-11-05T14:51:47.317 回答