Python中的软件验证服务器?

时间:2010-08-17 02:28:23

标签: python windows validation

我一直在为一个庞大的工作项目工作一段时间,而且差不多完成了。但是,为了防止程序被盗版(我已经知道几乎没有无法破解的方法),软件需要能够验证。我不确定如何做到这一点。某种软件验证服务器可以用Python编写吗?软件如何与服务器通信?软件每次启动时是否会检查它是否有效?该程序要求无论如何都要运行Internet访问,因此在每次启动时检查验证可能并不是那么糟糕。

我在Windows 7上使用Python 2.6编程。任何帮助都会很棒!

2 个答案:

答案 0 :(得分:2)

该软件在启动时应启动https(因此它不能轻易被嗅探;-)请求到您的服务器,识别自身(但是您选择识别,例如,串行数字或其他),服务器的响应将告诉它做什么(正常运行,或终止,或要求用户注册 - 无论如何)。

当然,任何有能力的黑客都会找到并禁用您发送请求并发送答案的代码部分,但是您已经知道一切都很容易被破解; - 。)

一种不太容易破解的方法是在服务器上保留功能的一些关键部分,这样如果客户端没有签入,那么客户端基本上是无用的(或至少不太有用)与您的服务器一起获取在会话期间用于其他“功能请求”的令牌。

很难说,如果你的应用程序中有很多功能,如果你的应用程序中有很多功能可以很好地适用于这种处理,那么很难说,但是例如你可以用这种方式委托任何类型的加密功能(加密,解密,签名,...) - 如果只有你的服务器知道用于此类目的的秘密/私钥,并且只执行已正确注册并获得授权的应用程序会话的功能,突然间它变得非常困难即使是一个好的黑客也可以使用您的注册和授权系统。

答案 1 :(得分:0)

我真的会敦促你不要这样做。正如你所说,无论你做什么都会被破坏,你实际上可能会因为包含这个障碍而导致软件的更多副本被盗版。要求你的用户不要偷窃可能会做得更好......

也就是说,以阻止最随意盗版的方式实现这一点很简单:只需让程序将使用服务器公钥加密的序列号发送到验证脚本,然后让服务器返回加密号码的版本使用其私钥。即时验证。是的,这个服务器可以用Python编写。