Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 应用许可和激活思想_C#_Licensing_Activation_Product Key - Fatal编程技术网

C# 应用许可和激活思想

C# 应用许可和激活思想,c#,licensing,activation,product-key,C#,Licensing,Activation,Product Key,我最近开发了一个应用程序,打算卖给小企业。我没有大量的现金支持,所以我不愿意购买一个商业应用程序来保护我的软件免遭盗窃 我目前的计划如下: 我在应用程序中包含了一个公钥(pgp)或文字代码 用户从提供特定信息的网站上购买软件 该站点调用创建产品密钥的函数。此密钥在购买后通过电子邮件发送/显示给用户 用户下载产品后,必须输入一些信息以及提供的产品密钥才能尝试激活 应用程序在我们的托管位置与web服务联系。它使用加密和其他信息创建一个激活码,并将其发送回应用程序 将来,应用程序将定期与web服务进

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

我目前的计划如下:

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

  • 这是正确的方法还是现在已经过时了
  • 生成独特产品密钥的最佳方法是什么
  • 有没有办法使公钥/私钥完全远离客户端的PC
  • 是否有一种检测非法许可证的好方法?我计划只提供站点范围的许可证,所以我只需要检测恶意的torrent/irc用户

  • 提前感谢您的帮助。非常感谢。

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

    不过有几年了。我想我可以将主板ID和CPUID合并到上面的服务理念中


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

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

    不用麻烦,你不会阻止盗版,但你会让真正的客户望而却步

    即使是最优秀的也可能犯下严重错误。我拥有Macromedia Studio MX2004和Adobe Creative Suite CS2。我最近不得不擦除并重新安装我的系统。首先要注意的是,上一次(几年前)我在激活方面遇到了很多问题,这是我这么长时间没有清理系统的主要原因。从那以后,我只从已经激活的硬盘映像中恢复—直到现在

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

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

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

    这里的要点是——如果像Adobe这样规模的公司不能确保轻松激活,而像Macromedia这样规模的公司可以接管——你有什么机会可信地宣称这不会给付费客户带来问题

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

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

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

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

    编辑

    顺便说一句,我不反对的是,每个人都有一个独特的“水印”下载,所以如果你看到普遍存在的盗版,你可以追踪它的来源。有一些二进制水印系统可以确保可追踪性,即使有人有多个副本要比较,尽管我不知道它们是如何工作的


    水印可以阻止人们使用你的软件,但即使这样,也不太可能阻止盗版。例如,只需一个人就可以使用无法追查的假身份购买您的产品。

    注意:我见过您如何脱机激活Adobe软件,因此我知道即使是最好的软件也可能会被破坏。我想找到一个简单的解决方案,你可以称之为介于10美元的软件和Adobe之类的东西之间的媒介。我的问题是,我不确定一些大型应用程序是如何实现激活的。即使是微软的操作系统也是一个例子,尽管你有一个很好的观点(我也意识到这就是为什么)