我正在开发一个应用程序,购买后可以使用许可证激活。
目前,我正在进行离线验证,这对我来说有点麻烦。我知道与破解(即修改后的二进制文件)无关,但是,我正在考虑尝试阻止许可证密钥盗版。这是我目前的计划:
- 当用户激活软件并且脱机验证成功后,它会尝试致电给家并验证许可证。如果home批准了许可证,或者home不可访问,或者用户脱机,则许可证获得批准。如果到达home并告知许可证无效,则验证失败。
- 许可的应用程序每次在启动过程中(在后台)都以相同的方式回叫。如果许可证被吊销(即盗版许可证或通过密钥生成),则许可证将被停用。
这应该有助于盗版许可证-无效的许可证将被禁用,并且可以撤销被盗版的有效许可证(及其合法所有者随新许可证一起提供)。盗版用户将被迫使用破解版本,该破解版本通常是特定于版本的,更难获得。
虽然这通常对我来说听起来不错,但我有一些担忧:
- 用户倾向于不喜欢家庭电话和在线验证。这种验证会打扰您吗?即使在离线/失败的情况下,应用程序仍保持许可状态?
- 显然,可以通过脱机/防火墙/等方式阻止整个方案。我认为执行其中一项操作的麻烦足以阻止随意共享许可证,但是我不确定。
- 通常,随着许可和DRM变体的出现,我不确定花在这种保护上的时间是否会花在改进产品上?
非常感谢您的投入和想法。
谢谢!