我想知道如何将许可证密钥与我创建的软件相关联,类似于大多数公司(如Microsoft和其他公司)所使用的软件。 他们的产品安装的关键。通过这种方式,除非许可证密钥被包含,否则我还能如何防止软件盗版。我在这里很天真,需要你们的一些指导,这样我才能看到这些并继续前进。
答案 0 :(得分:3)
为避免密钥共享,您需要将密钥生成绑定到客户计算机的某些属性 - “硬件锁定”或“软件锁定”。作为'硬件锁',可以使用mac地址,硬盘驱动器的id(等)。有时使用“软件锁定”可以为最终用户提供更多的硬件升级自由。
所以这个方案看起来像这样: 软件生成客户发送给软件供应商的'请求密钥'= f('硬件锁')。供应商通过keygen生成'授权密钥'= F('请求密钥')并将其返回给客户。当客户激活他的软件时,它会验证密钥 if('授权密钥'== F(f('硬件锁定)){okey,这里我们去}否则{nope,密钥无效}
这种方法的缺点是黑客跟踪放入“激活密钥”字段的密钥流,并且可以找到 F(f('硬件锁')然后做一些'复制' /粘贴' F 二进制代码,创建keygen并通过网络分享。
更好的方法是,如果黑客无法达到执行实际“授权密钥”生成的例程。例如,如果它位于远程服务器上。
无论如何都没有必要重新发明自行车,你可以使用别人开发的解决方案,查看https://activation-cloud.com
当然,没有任何保护措施无法被黑客攻击。问题是需要多少努力才能做到这一点。