您是否对软件试用版实施“记录计数”限制有任何想法?
我的问题是,显示将此“任务计数限制”应用到核心程序逻辑中,以便不能轻易绕过它?例如,显然可以轻松绕过以下代码:
if (varTotalTaskCount > 20)
{
ShowMessage("This is a trial version and you can create up to 20 tasks only");
return false;
}
有什么想法吗?谢谢!
答案 0 :(得分:1)
我是邪恶的,做这样的事情:
在完整版中使用数组/列表/等没有限制 在试用版中,使用指定大小的静态数组/列表/等,并且不限制检查。 同样在试用版中添加您建议的代码,可以轻松绕过。
这意味着如果存在最大限制检查,它不会崩溃,但如果破解者删除了支票,则会崩溃。当代码包含许多错误时,很难修复它。
最后,我不建议采用这种方式进行编码,但是如果我想在不使用客户端 - 服务器类型的保护的情况下尽可能地让它变得更难,那么这就是我要做的。
答案 1 :(得分:0)
好吧,定义“轻松”;)
如果这是用解释语言(如PHP)编写的,那么最好的选择是代码混淆。
使用已编译的程序,您可以更好地隐藏此逻辑(例如,通过使用自修改代码,或执行各种计算来计算任务限制),但最终,您仍然必须做出“试验与否”的决定
最后,如果有人愿意破解你的计划,他们会。