2

我们可以轻松开发试用版,当用户安装产品时,结束日期将存储在注册表中。当应用程序运行时,我们每次检查系统日期小于或等于结束日期。如果是,则应用程序将运行,否则应用程序将给出购买产品的消息。这样我们可以开发试用版,但是有一个问题是用户可以更改系统日期并运行软件,并且用户可以删除注册表项。在大公司中,如果没有互联网连接,他们会采取什么措施来开发可以在单机上运行的试用产品。

如果有人知道行业标准逻辑,请与我分享。

4

2 回答 2

5

此步骤通常委托给 3rd 方工具,例如NET ReactorDotfuscator

这些工具(和其他工具)不仅会混淆您的代码,而且还可以支持不同程度的许可保护。

例如,NET Reactor 将允许您指定超时或运行次数以使您的应用程序过期。然后,您可以分发许可证文件以将应用程序解锁一段时间(或永久)。

Dotfuscator 具有一些奇特的功能,您的应用程序可以在运行时向服务器报告,发生异常时等。除了支持各种许可模型外,您还可以了解应用程序在野外的行为方式。

当然,您的客户可能会也可能不会喜欢应用程序“打电话回家”的想法,但如果您想要的话,这些工具就在那里。

于 2011-05-03T18:02:13.417 回答
2

如果您不想在第三方工具上花钱(这可能是您的最佳选择),我建议您在存储结束日期的注册表中使用某种加密值。制作系统运行所需的密钥。当他们注册软件时,只需将结束日期提前到未来(比如 3000 年或其他年份)。这样他们就不能删除密钥,也不能只是手动修改它而不弄乱它。

最后,您可能会变得越来越棘手,但有人会想办法绕过您的保护。要么发送有限的安装(只有少数功能),要么计算出与这样做的回报相比,你想要投入多少努力来保护。

于 2011-05-03T18:07:28.957 回答