1

您对软件试用版实施“记录数”限制有什么想法吗?

  1. 假设它是一个任务管理程序;
  2. 试用版和完整版分别下载;
  3. 在试用版中,我想限制最大值。允许用户创建的任务数量。

我的问题是,将这个“任务计数限制”应用到核心程序逻辑中,这样就不能轻易绕过它?例如,显然可以轻松绕过以下代码:

if (varTotalTaskCount > 20)
{
  ShowMessage("This is a trial version and you can create up to 20 tasks only");
  return false;
}

有任何想法吗?谢谢!

4

2 回答 2

1

我会很邪恶,做这样的事情:

在完整版中使用无限制的数组/列表/等。
在试用版中,使用指定大小的静态数组/列表/等,并且不进行边界检查。同样在试用版中添加您建议的易于绕过的代码。

这意味着如果存在最大限制检查,它不会崩溃,但如果破解者删除检查,它将崩溃。当代码包含许多错误时,更难修复代码。

最后,我不建议以这种方式编码,但如果我想在不诉诸客户端-服务器类型保护的情况下尽可能地让破解者难以破解,那么这就是我会做的。

于 2010-07-01T13:55:41.053 回答
0

好吧,定义“容易”;)

如果这是用解释性语言(如 PHP)编写的,那么最好的选择是代码混淆。

使用编译好的程序,你可以更好地隐藏这个逻辑(例如通过使用自修改代码,或者执行各种计算来计算任务限制),但最终,你仍然必须做出“试不试”的决定。

最后,如果有人愿意破解你的程序,他们会的。

于 2010-07-01T13:56:21.733 回答