我想知道如何将许可证密钥与我正在创建的软件关联起来,类似于微软等大多数公司使用的软件,这些公司要求提供密钥才能安装他们的产品。这样,除非包含许可证密钥,否则我如何防止盗版软件。我在这里是一个天真的人,需要你们的一些指导,这样我才能看到这些并继续前进。
发布于 2012-07-28 21:15:32
为了避免密钥共享,您需要将密钥生成绑定到客户计算机的某些属性--“硬件锁”或“软件锁”。作为一个‘硬件锁’的mac地址,硬盘驱动器的id (等)可以使用。有时使用‘软件锁’,让终端用户在硬件升级时有更多的自由。
因此,方案看起来是这样的:软件生成客户发送给软件供应商的‘请求密钥’=f(‘硬件锁’)。供应商通过生成密钥‘authorization key’= F('request key'),并将其返回给客户。当客户激活他的软件时,它验证密钥if('authorization key‘== F(f('hardware lock)) { okey,我们开始} else {不,key是无效的}
这种方法的缺点是黑客跟踪输入到“激活密钥”字段的密钥的流动,并且可以找到F(f(“硬件锁”)),然后对F二进制代码进行一些“复制/粘贴”,创建密钥并在网络上共享它。
一种更好的方法是,如果黑客不能到达执行实际“身份验证密钥”生成的例程。例如,如果它位于远程服务器上。
无论如何,没有必要重新发明自行车,你可以使用别人开发的解决方案,查看https://activation-cloud.com
可以肯定的是,没有不能被黑的保护。问题是需要多少努力才能做到这一点。
https://stackoverflow.com/questions/11682157
复制相似问题