2013-10-29 37 views
0

我想给我的产品提供离线CRM应用程序给客户,写在C++的试用期为30天。目前我正在做的是给出一个加密文件,记录当前日期,安装日期和一些计算来检查这种差异,如果其>30 - 软件不起作用。软件或防病毒产品的试用版如何运行?

但如果客户端不改变系统日期,我的意思是如果他关闭时间同步?我怎样才能让我的执照在审判日工作?

即使日期处于非活动状态,小时是否会同步?

请让我知道。

回答

3

您可以尝试保存上次启动的日期和时间。如果你发现时间已经被解开(你最后一次发射是在未来),那么你清楚地知道用户在作弊,并且可能会拒绝启动并显示错误消息。

但是,这应该小心。时间应该存储为UTC,以避免夏令时开始时发生的所有突发事件。检测时间展开应具有足够的阈值,以便用户在调整时钟时有一定的自由度。

4

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

即使您可以找出一种方法来确保时间正确,什么会阻止用户删除或篡改文件?或卸载试用软件,然后重新安装一次?或反编译它并删除文件检查?

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

相关问题