8

我最近开发了一个应用程序,打算卖给小企业。我没有大量现金支持,所以我不愿意购买可以保护我的软件免遭盗窃的商业应用程序。

我目前的计划如下:

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

所以我想知道:

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

预先感谢您的帮助。不胜感激。

4

3 回答 3

7

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

即使是最好的也可能会犯这种严重错误。我拥有 Macromedia Studio MX2004 和 Adob​​e Creative Suite CS2。我最近不得不擦除并重新安装我的系统。首先要注意 - 上次(几年前)我在激活方面遇到了很多问题,这是我很久没有清理系统的主要原因。从那时起,我只从已经完成激活的硬盘映像中恢复 - 直到现在。

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

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

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

这里的重点——如果 Adob​​e 规模的公司无法确保轻松激活,而 Macromedia 规模的公司可以被接管——你有什么机会可信地声称这不会给付费客户带来问题?

当您购买需要激活的软件时,您就是在购买定时炸弹。有时您将无法使用它,因为您无法激活它——当然,除非下载一些盗版破解。

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

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

没有冒险就没有收获——如果你不愿意承担一些风险,你就永远不会获利。尽管无论您做什么,大多数盗版者都永远不会变成付费客户,但很有可能将付费客户变成盗版者。您所要做的就是确保他们获得更好的盗版软件体验,而不是付费,这正是激活、DRM 等实现的目的。

编辑

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

水印可以阻止人们提供您的软件,但即便如此,它也不太可能阻止盗版。只需要一个人使用无法追踪的虚假身份购买您的产品。

于 2010-07-12T21:02:57.920 回答
5

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

于 2010-07-08T17:24:11.543 回答
3

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

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

不过,它已经一两岁了。我在想我可以将 MotherBoardID 和 CPUID 合并到上面的服务理念中。

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

于 2010-07-08T04:52:46.703 回答