我正在开发一款共享软件桌面应用程序。 我已经到了需要实现试用/激活代码的地步。 你如何处理这样的事情? 我有自己的想法,但我想知道stackoverflow社区的想法。
我使用C ++ / Qt进行开发。 预计平台为Windows / Mac / Linux。
感谢您的建议!
我正在开发一款共享软件桌面应用程序。 我已经到了需要实现试用/激活代码的地步。 你如何处理这样的事情? 我有自己的想法,但我想知道stackoverflow社区的想法。
我使用C ++ / Qt进行开发。 预计平台为Windows / Mac / Linux。
感谢您的建议!
需要保护和不需要保护的内容:
请记住,人们总会找到办法绕过试用期。因此,你需要让他们很烦恼才能绕过你的试用期,但如果无法绕过你的试用期也没关系。
如果有简单的机制,大多数人都会认为绕过你的试用期太麻烦了。例如,人们可以使用filemon/regmon查看安装您的软件后哪些文件和注册表项发生了变化。
话虽如此,最好还是采用简单的机制,因为这样浪费的时间更少。
以下是一些想法:
延长试用期:
对于我们来说,当客户请求试用期延长时,我们会发送一封自动邮件,其中包含一个名为“TrialExtend.exe”的程序和一个试用期延长代码。该程序将使用试用期延长代码联系我们的服务器进行验证。如果验证通过,则重置其试用期。
无论你做什么,都要密切关注系统日期。最古老的技巧是在未来某个时间安装应用程序,然后在应用程序首次运行时返回真实日期。也许可以将密钥与在线存储库同步?
Linux用户通常不习惯为软件付费,他们往往更懂技术,甚至在开源问题上可能会有“宗教”信仰。
因此,我真的建议保持简单 - 这只是一个小障碍,使购买软件至少与盗版同样容易。
我建议在试用期后烦扰或禁用某些功能(例如保存),而不是完全死亡。只是一个观察结果,在Linux世界中,基于功能的限制似乎更为普遍。
顺便说一下,使Linux版本成为“一流”的版本 - 良好的安装程序等将有所帮助。
如果你相对较小,或者你的程序相对较小众,那么没有人会费心去破解它 - 所以只需专注于制作一个良好的产品,在时间到期后提供一个简单的烦恼即可。
如果您有一个相对稳定的网络连接,您可以让安装程序在您的网站上注册,并在每次启动时检查。
如果这不可行,将一个值写入文件系统上可修改的点(注册表项、/etc配置文件中的条目等)可能是可行的。