Java:通过软件或服务器进行许可证验证和验证?

时间:2010-06-19 20:51:31

标签: java license-key anti-piracy

我需要一些有关如何验证许可证(用户/许可证密钥)的提示。

做许多游戏做的更好,这是验证公司服务器的cd密钥。是否有关于如何实现这一点而不会变得“破解”或“修补”的指南?

OR是否更好地验证软件中的用户/许可证密钥?一段时间后,你不会看到钥匙在网上漂浮吗?

请告知。

3 个答案:

答案 0 :(得分:2)

您的计划销售多少,以及您希望获得多少销售?如果任何一个答案都低于50,那么你很可能不应该过度思考它。是的,你可以反编译Java,但是如果你卖给你认识的少数人,他们就没有这方面的知识(或者他们会自己做)。游戏因为数百万人想玩它而破裂。你试图以10美元或者其他任何东西出售的一些随机程序应该在雷达下滑动:)如果它确实破解了,发布版本2.0并提供更好的保护......

答案 1 :(得分:1)

如果您在客户端执行此操作,则可以对代码进行反编译并学习算法。将它保留在服务器端会阻止它。

如果你只是返回“真/假”类型的东西,可以开发一个代理服务器,它只是一直返回“true”,所以当客户认为它没有时启用它。

您需要在服务器上进行工作,并为网络通信提供一些加密方法。

即便如此,仍有可能打败这样的计划(我不会详细介绍,但几乎所有做这类事情的应用程序都可以打败)。要真正完成这项工作,你必须在服务器而不是客户端上做一些实际的工作,这样结果不能简单地伪造。

答案 2 :(得分:1)

  

是否有关于如何实现这一点而不会变得“破解”或“修补”的指南?

您无法做任何事情都会导致某人破解您的许可证密钥系统。你的程序越受欢迎,人们越有可能尝试破解,并且有人会成功。

我不确定你会找到一份关于如何使破解变得困难的公开指南,因为这样的文件也会为破解者的破解工作提供许多线索。 (软件DRM是“好人”和“坏人”之间的永久军备竞赛。)

IMO,不值得尝试为您的软件获得最后一滴收入。那些破解的密钥并不能真正代表销售损失。使用它们的人无论如何都不会购买你的软件。只需将它们作为收入来源写下来,并集中精力使您的软件成为已经购买许可证的诚实人员的良好体验。 (你可以做的最糟糕的事情是使用一些让诚实客户生活困难的DRM方案!!)