在我的应用程序中,我将使用在线激活来控制盗版。但问题是,一旦用户激活软件,我如何检测该应用程序被激活。有没有办法存储此应用程序被激活的数据。不要告诉我注册表,因为这种方式不安全。任何与在线激活相关的信息都会对我有所帮助。我决定在系统驱动器中创建文件,我的应用程序每次启动时检查该文件。如果找到文件的话应用程序启动,如果没有,则会询问密钥。那是安全的吗?任何建议都会很好!!
答案 0 :(得分:2)
您提到的问题是您需要考虑的问题,但还有很多其他问题:
根据多年的实践经验,可以考虑一些事情。
答案 1 :(得分:0)
我可以看到“保护激活数据”有两种不同的看法:
1)如果您尝试保护用户的激活数据,以便用户无法将数据复制到其他计算机并在那里使用该软件,我建议使用以下协议:
在激活期间,对用户环境的唯一标识功能进行哈希处理并发送到激活服务器。激活服务器生成使用密钥签名的激活。在产品启动时,您的产品会验证您的服务器是否已签署激活(使用服务器的公钥),以及本地环境是否已激活到激活中包含的相同签名值。如果它失败了,那么环境已经改变了(操作系统的新安装?),或者数据已经迁移到需要(通过它的声音)新许可证/激活的新环境。无论哪种方式,用户都需要新的激活。
2)如果您正在尝试保护激活数据免受损坏,那么请考虑使用逻辑补充前一个协议,如果客户尝试使用相同的UID重新激活,则允许激活再次进行,这应该是导致相同的激活实例被发送回客户。
这些不在袖口,我不保证其中任何一个都是防弹的。另外,请记住,盗版者只需绕过验证激活就可以成为一个有争议的问题。
此外,我觉得重要的是要注意,使用此方案的想法是您不必在任何地方隐藏激活信息。您可以将它存放在方便的地方。