2011-03-14 137 views
2

在阅读Stack Overflow上关于如何保护软件的大量线索后,我意识到你不能。谢天谢地,我的软件针对托管企业(不是那么多)和少数消费者。我认为这个软件不会流行,以至于任何人都会破解它,但我想保护它。保护软件免受海盗侵害

在我发现的其中一个线程中,它有一个不错的选择列表。我已经决定,我希望与“简单的注册与可更换钥匙,经常在线验证。”

我想,因为我的应用程序是一个将通过管理容器运行的C#NET控制台应用程序,所以我可以为它发布密钥。也许做一个MySQL数据库并保存只能在一次安装中使用的密钥列表,以及另一个可在X安装中使用的密钥列表。我的应用程序在启动时会用命令行参数运行,所以添加一个类似“-key 29839X900AQ”的东西将会减轻他们需要太担心的问题。

有没有人知道任何信息/网站提供帮助设置这样的事情?

回答

2

您绝对可以保护软件和声明其他错误的线程。没有人破解我们的系统(正确实施时),并且我们举行了公开竞赛,看是否有人可以(免责声明:我为一家软件保护公司工作)。

但是,有很多方法可以解决这个问题,并且没有“免费”系统或无法使用软件的系统无法破解。然而,有些软件足够强大,以至于需要付出巨大的努力,除非您的软件吸引大型市场或花费大量的美元资源,否则黑客就会毫无动力投入这项工作。

如果我了解您提出的解决方案,您将很容易遭受共享密钥的人员的影响。您可以检查单个密钥是否始终来自相同的IP地址,但可能被欺骗(以允许非法复制),或者可能会阻止合法客户访问。

保护就像把门锁上门:更多的锁可以防止窃贼,但它也使你更难进出。如果有太多的锁,它可能只是让窃贼寻找一扇窗户,因为我们为此谋生,所以我们研究了人们如何破解软件,很多时候保护计划很容易解决,只是不符合原始开发者的预期。每个人想要完成的诀窍都是在保护他们的权利的同时不产生错误的否定(虚假地阻止合法用户)。如果您需要更多帮助,请随时通知我。要做到这一点

0

的一种方法是,你保持(也许在数据库中)全部撤销/禁用许可证的列表使用Web服务。从您的应用程序,您将不时地ping服务,以查看当前使用的许可证是否已被撤销。如果是这样,许可证验证失败。

如果您可以使用第三方系统,请参阅CryptoLicensing,该帐户通过其“验证时通知许可证服务”许可证设置支持此确切方案。

声明:我在LogicNP软件,CryptoLicensing的开发工作。