2013-10-29 38 views
0

我想給我的產品提供離線CRM應用程序給客戶,寫在C++的試用期爲30天。目前我正在做的是給出一個加密文件,記錄當前日期,安裝日期和一些計算來檢查這種差異,如果其>30 - 軟件不起作用。軟件或防病毒產品的試用版如何運行?

但如果客戶端不改變系統日期,我的意思是如果他關閉時間同步?我怎樣才能讓我的執照在審判日工作?

即使日期處於非活動狀態,小時是否會同步?

請讓我知道。

回答

3

您可以嘗試保存上次啓動的日期和時間。如果你發現時間已經被解開(你最後一次發射是在未來),那麼你清楚地知道用戶在作弊,並且可能會拒絕啓動並顯示錯誤消息。

但是,這應該小心。時間應該存儲爲UTC,以避免夏令時開始時發生的所有突發事件。檢測時間展開應具有足夠的閾值,以便用戶在調整時鐘時有一定的自由度。

4

與其他所有安全問題一樣,問題不在於是否有可能是絕對安全的(因爲不是),而是,如何安全

即使您可以找出一種方法來確保時間正確,什麼會阻止用戶刪除或篡改文件?或卸載試用軟件,然後重新安裝一次?或反編譯它並刪除文件檢查?

順便說一下,Beyond Software Architecture概述了各種試用和演示軟件的方法。本質上,它回答了原始問題軟件或防病毒產品的試用版如何真正起作用?

相關問題