验证软件是否存在受复制保护的原因

时间:2009-07-20 17:58:07

标签: c# validation desktop

我正在尝试查看验证我的软件的几种好方法 我为每个买家生成一个密钥,然后确保密钥只使用一次,并且他们无法在其他计算机上安装该应用程序并使用相同的密钥。
有没有人有任何好的建议?


谢谢,

4 个答案:

答案 0 :(得分:4)

最普遍的方式是电话回家方式。注册后,您的应用程序将联系您控制的服务器并发送注册信息。您将检查数据库的密钥。如果是新的,请允许注册。否则拒绝注册。

这是一种简单的方法,但用户不太友好。

问题1:用户重新格式化计算机/计算机管​​芯/更换计算机。在这种情况下,您的客户将无法重新安装他们支付的软件。一种解决方案是让他们与您联系,然后您将向他们发送新密钥。

问题2:用户无法访问互联网:解决方案:仅在线提供您的应用程序。

问题3:用户卸载他们的程序,然后希望稍后重新安装。解决方案:在卸载期间,您必须联系注册服务器并删除密钥。

意识到你的目标应该是保持诚实的人诚实。将盗版你的东西的人很容易打败你在复制保护方面的最佳尝试。保持简单,不要花太多时间处理更重要的问题。

答案 1 :(得分:2)

一种简单的方法是让计算机通过Internet发送激活码,然后在服务器上注册。以这种方式,不能再使用相同的激活密钥。

如果没有互联网连接,您也可以使用激活密钥进行呼叫。

答案 2 :(得分:0)

这里真正的问题是是否真的需要严格执照。在某些情况下,肯定会有这种情况,但许多情况下许可证代码过度。最后,这是一个权衡:

激活优点:

  • 保证您的用户安装应用
  • 确切知道野外有多少副本

最小许可的优点(序列号和基本,非互联网验证)

  • 即使没有互联网访问,用户也可以快速开始使用该应用
  • 对用户造成极小的烦恼
  • 不会让重新格式化并想要重新安装的用户感到不安(如果他们从崩溃的计算机中恢复,许可证加重是他们想要的最后一件事)
  • 警惕激活的用户可能会完全跳过您的应用,使非激活应用更具吸引力
  • 即使您的服务器出现故障(或将来关闭操作),用户仍然可以使用并重新安装您的软件
  • 没有花时间处理激活麻烦
  • 开发激活方案所花费的时间可以用来改善应用程序,从而带来更多销售

激活方案对您(开发人员)来说很有吸引力,并且对用户来说是一个令人头疼的问题,而轻量级许可对用户来说更具吸引力,并且只为用户提供了最小的弊端。我最喜欢的文章中有两个选项是Eric Sink's "Tenets of Transparency (point 4)

虽然您可能认为需要激活,但我鼓励您考虑是否真的这样做。严格执法带来的额外销售额是否超过了所有缺点导致的销售损失?

答案 3 :(得分:0)

有一种方法可以确保一个副本仅用于一台PC 1 - 当你的应用程序启动时,它首先收集机器的信息......例如主板序列号......当它完成收集信息时,用户通过网络激活应用程序并获得生成给该机器的激活码只有>>如果他尝试在另一台PC上再次使用相同的激活码,当应用程序使用硬件信息查看激活码时发现它不对,应用程序拒绝它 希望它清楚