应用许可和激活思想

时间:2010-07-08 00:22:10

标签: c# licensing activation product-key

我最近开发了一款我计划向小型企业销售的应用。我没有大量的现金支持,因此我不愿意购买可以保护我的软件免遭盗窃的商业应用程序。

我目前的计划如下:

  • 我在应用程序中包含公钥(pgp)或文字代码。
  • 用户从提供特定信息的网站购买软件。
  • 该网站调用创建产品密钥的功能。购买后,该密钥将通过电子邮件发送/显示给用户。
  • 用户下载产品后,必须输入一些信息以及提供的产品密钥才能尝试激活。
  • 该应用程序与我们托管位置的Web服务联系。它使用加密和其他信息来创建激活码,然后将其发送回应用程序。
  • 将来,应用程序将定期检查Web服务,以确定它是否已获得授权。
  • 不知何故,我想在软件更新期间更新pgp /代码,因此我可能需要一个能够解密信息,更新许可证,重新加密,然后更新服务数据库的功能。

所以我想知道:

  1. 这是正确的方法还是现在已经过时了?
  2. 生成唯一产品密钥的最佳方法是什么?
  3. 有没有办法让公钥/私钥完全脱离客户端的PC?
  4. 检测非法许可是否有好办法?我计划只提供网站范围的许可证,所以我只需要检测邪恶的一点点洪流/ irc人。
  5. 提前感谢您的帮助。非常感谢它。

3 个答案:

答案 0 :(得分:7)

不要打扰 - 你不会阻止海盗,但你会推迟真正的顾客。

即便是最好的人也会犯这种错误。我拥有Macromedia Studio MX2004和Adobe Creative Suite CS2。我最近不得不擦除并重新安装我的系统。首先要注意的是 - 在最后一次(几年前)我有足够的激活问题,这是我长时间没有清理系统的主要原因。从那以后,我只从已经完成激活的硬盘映像中恢复过来 - 直到现在。

当我去激活时,两个互联网激活失败,即使我没有其他明显的互联网访问问题。电话激活对于Creative Suite来说并不算太糟糕,但Macromedia当然是几年前被Adobe收购的。所有旧的Macromedia手机激活内容都不再存在。当然,您可以在网站上找到Adobe激活码,但它们不支持激活Macromedia软件。

有趣的是,Adobe似乎运行“让它们保持一段时间,然后断开它们”系统的电话支持。

最终,我解决了防火墙问题并设法让互联网激活工作 - 但这是在几个浪费时间和相当数量的通话费之后。

重点在于 - 如果Adobe的规模无法确保轻松激活公司,并且公司可以接管Macromedia的规模 - 您有什么机会可靠地声称这不会给付费客户带来问题?< / p>

购买需要激活的软件时,您需要购买定时炸弹。有一段时间你不能使用它,因为你无法激活它 - 除了当然下载一些海盗破解。

潜在客户知道这当然,除非他们有非常令人信服的理由购买您的特定产品,否则他们可能会去其他地方。或者,因为他们有一天会需要那个海盗破解,所以当然没有时间像现在这样。

为什么要关心不定期升级的客户?更好的问题 - 当我不需要任何新功能时,为什么我应该坚强地升级某些东西。即使是停止支持激活的观念也可能以这种方式使用,这足以让我和其他人对需要激活的软件三思而后行。

没有任何事情可以冒险获得 - 如果你不愿承担一些风险,你将永远无法获利。虽然大多数海盗无论做什么都不会变成付费用户,但肯定有可能将付费客户变成海盗。您所要做的就是确保他们获得更好的盗版软件而不是付费,这正是激活,DRM等所实现的。

修改

顺便说一下,我反对的是每个人都获得一个独特的“水印”下载的想法,所以如果你看到广泛的盗版,你可以追踪它的来源。有二进制水印系统可以确保可追踪性,即使有人有多个副本进行比较,但我不知道它们是如何工作的。

水印可以阻止人们提供软件,但即便如此,它也不太可能阻止盗版。它只需要例如一个人用不可拼写的假身份购买你的产品。

答案 1 :(得分:5)

如果您的应用程序有用,无论您是否使用drm,它都将被破解并发布。只需在没有激活的情况下出售它,就像以前一样追踪海盗。

答案 2 :(得分:2)

到目前为止,我发现此链接很有趣:

http://www.emoreau.com/Entries/Articles/2007/12/Licensing-a-VBNet-application.aspx

虽然已经有几年了。我想我可以将MotherBoardID和CPUID合并到上面的服务理念中。

我仍然希望听到知道如何扮演这个角色的人(专业人士)。这将非常有益,因为我只是一个n00b。