用户从服务器下载一个应用程序(假定是一个游戏)。我需要对用户可以在系统上运行应用程序多长时间实施时间限制。

例如。从安装开始,用户只能使用该应用程序5天。

我的问题是,如果我依靠系统时间/天等来实现此逻辑,则用户可能会更改系统时间并克服该逻辑。

平台:Linux / C ++

附注:我必须假设有一种情况,即用户在下载应用程序后决定完全不连接到互联网。由于我没有网络访问权限,因此不能依赖基于服务器的存储来了解应用程序的安装日期/时间等。

有人可以提供一个线索来说明如何在应用程序中实现这种行为并给出试用期吗?



编辑:

我添加了我正在考虑的算法:

在安装时:


在安装时,存储当前系统日期。
将此信息以加密形式存储到文件DRM.txt中


在应用启动时:


打开文件并解密安装日期。
从系统获取当前日期。
如果应用程序被允许根据自用户安装应用程序以来经过的天数执行,则匹配。
如果允许,请启动应用程序,否则给出错误消息,然后返回。


问题:


设安装系统日期为2012年12月19日,并且用户只能在截至2012年12月22日的4天内使用该应用程序。因此,2012年12月19日存储在DRM.txt中。
在4天之后,用户将系统日期更改回2012年12月20日,那么我的检查逻辑将允许该应用程序运行。


希望这能澄清我想说的话。

最佳答案

这可以通过加密来实现,例如将日期存储到加密文件中,请注意,这不会阻止反向工程等。

10-07 19:26
查看更多