0

我想为我的产品提供一个离线 CRM 应用程序给客户,C++试用期为 30 天。我目前正在做的是提供一个加密文件,其中记录了当前日期、安装日期和一些计算,以检查这种差异,如果它的>30软件不起作用。

但是如果客户不更改系统日期怎么办,我的意思是如果他关闭时间同步?我怎样才能让我的许可证在试用期内工作?

即使日期处于非活动状态,时间也会同步吗?

请告诉我。

4

2 回答 2

4

与其他所有安全问题一样,问题不在于是否可能绝对安全(因为它不是),而是如何安全

即使你能找到一种方法来确保时间是正确的,什么会阻止用户删除或篡改文件?还是卸载试用软件,然后重新安装?还是反编译并删除文件检查?

顺便说一句,Beyond Software Architecture概述了试用和演示软件的各种方法。从本质上讲,它回答了最初的问题,软件或防病毒产品的试用版如何真正起作用?

于 2013-10-29T10:57:13.380 回答
3

您可以尝试保存上次启动的日期和时间。如果您检测到时间已经结束(您的最后一次启动是在将来),那么您清楚地知道用户在作弊并且可能会拒绝启动并显示错误消息。

然而,这应该谨慎进行。时间应该存储为 UTC,以避免在夏令时开始时发生的所有奇怪的事情。时间展开的检测应该有足够的阈值,以便用户有充分的理由自由调整时钟。

于 2013-10-29T06:52:09.590 回答