如何将“记录计数限制”混合到试用版的程序逻辑中

时间:2010-07-01 13:38:25

标签: anti-piracy

您是否对软件试用版实施“记录计数”限制有任何想法?

  1. 假设它是一个任务管理程序;
  2. 试用版和完整版是单独下载;
  3. 在试用版中我想限制最大值。允许用户创建的任务量。
  4. 我的问题是,显示将此“任务计数限制”应用到核心程序逻辑中,以便不能轻易绕过它?例如,显然可以轻松绕过以下代码:

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

    有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:1)

我是邪恶的,做这样的事情:

  

在完整版中使用数组/列表/等没有限制   在试用版中,使用指定大小的静态数组/列表/等,并且不限制检查。   同样在试用版中添加您建议的代码,可以轻松绕过。

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

最后,我不建议采用这种方式进行编码,但是如果我想在不使用客户端 - 服务器类型的保护的情况下尽可能地让它变得更难,那么这就是我要做的。

答案 1 :(得分:0)

好吧,定义“轻松”;)

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

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

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