您的模型已经尝试过。如果您真的担心有人盗用您的软件,那么您的最佳选择是每次应用程序启动时继续执行ping许可证服务器。是的,您的服务器存在故障,人们无法使用您的应用程序。
对于我的软件,我更喜欢在服务器第一次在我的软件中注册他的密钥时ping服务器,并且如果他们正在为我的软件获取更新,那么我更愿意。这基本上允许我的用户自由使用他们的应用程序,直到他们重新安装或获得那些“真棒”新更新!如果他们没有得到更新,他们可以使用该工具而无需联系互联网。这是我能想出的最好的情况。
无论你做什么,总会有解决方法!黑客只会修改他们的主机文件,将您的许可证服务器指向本地。他们显然会破解或分享你的钥匙。我们生活在这个悲伤的世界里。所以为了让你的用户感兴趣,你必须为他们提供更好的内容来跟踪非法使用。我建议在第一次在后台执行此操作后,用户无论如何都无法获取更新,因此在这个时候,告诉他们您没有重新进行身份验证是毫无意义的。
我想我应该添加一些事情。我不建议您托管自己的许可证服务器。如果可能的话,你应该总是把它外包给一家大公司。一个将有一个保证,他们的服务器将长期运作。此外,请确保始终有多个许可证服务器,这样,如果一个人倒下另一个可以踢入。
我的公司即使发生故障,合同也有义务始终保持该软件许可服务器的活动时间长达10年份。我知道很多公司都会向用户颁发年度许可证,这是让用户更新或面对后果的另一种好方法。
同样,所有的这是一个大量的工作,你应该确保你的工具,真正需要认证的这个量,因为到目前为止还算不上什么是不能被打破。
你使用任何代码混淆?如果不是,用户只能重新编码一些东西,并总是访问? – Galen 2009-12-01 19:45:14
@Galen - 有了一个体面的调试器,即使是模糊的代码也不会在寻找手机的代码时忽略它。 – tloach 2009-12-01 19:50:32