0

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

例如。从安装之日起,用户只能使用该应用程序至 5 天。

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

平台:Linux/C++

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

有人可以提供线索如何在应用程序中实现这种行为,并提供试用期吗?


编辑:

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

安装时:

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

在应用程序启动时:

  1. 打开文件并解密安装日期。
  2. 从系统获取当前日期。
  3. 匹配是否允许根据用户安装后已过去的天数执行应用程序。
  4. 如果允许,启动应用程序,否则给出错误信息并返回。

问题:

  1. 让在安装系统日期为 19/12/2012 时,用户只能使用该应用程序 4 天,即到 2012 年 12 月 22 日。因此,19/12/2012 存储到 DRM.txt 中。

  2. 4 天后,用户将系统日期更改回 20/12/2012,然后我的检查逻辑将允许此应用程序运行。

希望这能澄清我想说的。

4

2 回答 2

0

保存并检查启动和停止APP的时间。如果当前时间比保存的时间短很多,那么你可以认为这是作弊。

于 2012-12-19T05:49:52.437 回答
0

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

于 2012-12-18T14:16:58.943 回答