2012-12-18 44 views
0

用戶從服務器下載App(假定是遊戲)。我需要強制時間限制用戶可以在系統上運行應用程序的時間。強化應用程序可以使用多長時間的時間限制

例如。從安裝時開始,用戶可以使用該應用程序直到5天。

我的問題是,如果我依靠系統時間/日等來實現此邏輯,用戶可能會更改系統時間並克服邏輯。

平臺:Linux/C++

P.S:我必須假設在用戶決定不連接到互聯網,在所有後,他下載的應用程序的情況下。由於我沒有網絡訪問權限,所以不能依賴基於服務器的應用程序安裝日期/時間等存儲。

有人可以提供一個線索如何在應用程序中執行這種行爲用法?


編輯:

我加入這我想到了ALGO:

在安裝時:

  1. 在店裏安裝系統的當前日期時間。
  2. 存儲這些信息以加密的形式到一個文件DRM.txt

應用程序啓動時:

  1. 打開文件和解密的安裝日期。
  2. 從系統獲取當前日期。
  3. 匹配是否允許應用程序根據用戶安裝後的天數執行。
  4. 如果允許,啓動應用程序,否則給錯誤消息並返回。

問題:

  1. 設在安裝系統日期的時間是19/12/2012和用戶被允許使用App僅4天即直到12分之22// 2012 。因此,19/12/2012存儲在DRM.txt中。

  2. 用戶4天后將系統日期更改回2012年12月20日,然後我的邏輯檢查將允許此應用程序運行。

希望能夠澄清我想說的話。

+0

您是否希望在多個日曆日後發生過期?或者在幾秒鐘的運行時間之後?或者其他一些標準?選擇你的規則,拿出一些示例代碼來實現它們,如果它不起作用,請將其包含在你的問題中。 StackOverflow是關於*你的代碼*。 – ghoti

+0

@ghoti它應該在一些日曆日後過期。而且,由於我可以事先在實現中看到問題,因此我應該首先關注算法而不是實現,這不是更好嗎? (這就是爲什麼Algo標籤而不是C++!) –

回答

0

這可以通過加密來實現,例如存儲日期爲加密文件,注意,這不會阻止逆向工程,等,等,等

+0

請檢查編輯並查看它將創建的問題。 –

+0

請注意,您將永遠無法完全控制程序中發生的情況或用戶計算機上發生的情況,這意味着此處的目標*越難越好*。此外,如果你感覺有點神經質,你總是可以結合各種方法(計時器,倒計時,加密,在線檢查...) – 2012-12-19 14:05:36

+0

雅各布斯,讓我想知道的是,我安裝了這麼多程序在Windows上的試用版(說15天,沒有互聯網要求),但他們的政策工作完全正常,即使我混淆了系統日期。這就是爲什麼我想了解他們可能遵循的邏輯。 –

0

保存和檢查的時候啓動和停止APP。 如果當前時間比保存時間短得多,那麼您可以認爲它是作弊。

相關問題