2008-08-08 121 views
5

几乎所有的职业生涯中,我都与构建解决方案(针对单个客户的定制应用程序)合作。现在我的公司正在为大众开发软件,很多包装都在等着我们。
我想问一下授权软件。如何生成序列号和激活号码。一般来说,我可以选择什么软件许可。
我意识到这是一个普遍的问题,但它是一个对话启动器。
许可证模型

回答

8

我们的许可模式使用公钥/私钥加密。他们给我们发送他们的名字和联系方式,我们使用我们的私钥加密。然后将加密文件发回给他们进入应用程序的许可证持有者。该应用程序将我们的公钥嵌入到二进制文件中(或者如果它们与网络有连接,它会将其从我们的网站上卸下),并使用它来解密许可证信息。如果解密后的许可证与他们输入的详细信息相匹配,则他们有权使用该产品!

通过使用私有/公共密钥加密,我们给我们的应用程序的信任,在许可密钥的数据实际上是从我们(许可证的真伪)

还有其他一些巧妙的事情,你可以用这个做的,像将订阅级别编码到许可密钥中。该应用程序将解密许可证密钥并查看它们只允许使用某些功能。

虽然这可以被攻击。例如,黑帽可以删除整个许可证密钥,检查二进制文件的一部分,或者将应用程序中存储的公钥更新为已生成的公钥。他们将能够使其接受自己的许可证。但是,由于我们的应用程序不是主流,我们不认为这是一个主要威胁。

-1

如果您使用.Net构建解决方案,则可能需要检查Xheo。我之前使用它们来实施许可,并且它们很好地与.net解决方案集成。你可以做一些事情,比如需要基本的串行密钥来激活产品,直到建立一个激活服务器,并要求人们激活和停用他们的产品以在机器之间使用和移植它们。

+0

不值得;太慢,崩溃了很多。 – ileon 2010-03-08 22:39:57

1

这篇关于盗版的文章是由一位构建和销售小型.NET应用程序的人员制作的,其内容为内容丰富。他的申请被盗版,这giveshim一个有趣的观点:

http://kalzumeus.com/2006/09/06/yo-ho-me-hearties-yo-ho/

他的得分基本上,你需要使启动系统的屏障,普通用户 - 如果你的应用是足够的流行有什么可以做被一个破解团体盗版。最重要的是确保你的程序的破解版本(如果存在的话)对于99%的公众是不可见的。