关于通过打电话回家的复制保护/软件许可的意见/讨论

时间:2010-06-16 22:41:12

标签: licensing copy-protection

我正在开发一些我最终会销售的软件。我一直在考虑不同的复制保护机制,包括自定义和第三方。我知道没有任何复制保护是100%完全证明,但我至少需要尝试。所以我正在寻找一些我正在考虑的方法的意见:

我正在考虑的一种方法是让我的软件在启动时连接到远程服务器,以便根据以太网端口的MAC地址验证许可证。

  • 我不确定服务器是否会运行MySQL数据库来检索许可证信息,或者是什么......有更简单的方法吗?也许某种类型的加密文件被读取了?
  • 如果软件无法连接到服务器,我会使软件仍然有用。我不想因为他们当时没有互联网接入而锁定某人。如果你想知道,我正在开发的软件非常依赖互联网/网络。因此,用户在使用它时实际上不太可能无法访问互联网。实际上,如果没有互联网/网络访问,它就毫无用处。
  • 任何人都知道我会对有多个MAC地址的计算机做些什么?这些天很多主板都有2个以太网端口。大多数笔记本电脑都有1个以太网,1个wifi和蓝牙MAC地址。我想我可以选择一个MAC端口并运行它。不确定它是否真的重要
  • 聪明而棘手的用户可以确定软件连接到的服务器,并可能将其添加到主机文件中,以便始终尝试连接到localhost。你认为这有多大可能性?您是否认为该软件可以检查是否已完成?我想解析主机文件总能工作。在那里查找您的服务器地址,看看它是否连接到localhost或其他东西。
  • 我考虑过加密狗,但我试图避开它们只是因为我知道它们是一种痛苦的工作方式。保持更新并可能要求客户运行自己的许可证服务器对我来说有点太多了。我已经经历过这种情况,而且我不想让顾客知道这一点。此外,我正在努力避免使用第三方加密狗的额外开销。
  • 此外,我倾向于连接到远程服务器以验证身份验证,而不是仅向用户发送某种许可证文件,因为当用户购买新计算机时会发生什么?我必须向他们发送一个可以与他们的新计算机一起使用的替换许可证文件,但他们仍然可以在他们的旧计算机上使用它。我没有办法“取消授权”他们的旧电脑而不要求他们在其上运行某些程序。
  • 另外,一个重要的注意事项,使用该软件,我会非常清楚EULA中的用户,该软件连接到远程服务器以验证许可,并且不会发送任何个人信息。我知道我并不关心那些在我不知情的情况下做那种事情的软件。

无论如何,只是为那些可能走上这条道路的人寻找一些意见。

似乎远程服务器相关软件似乎是最有效的复制保护机制之一,不仅仅是因为难以规避,而且在开发人员端管理许可证也很容易。

1 个答案:

答案 0 :(得分:3)

请记住,如果有人想盗版您的软件,他们会。通常,他们甚至不打算模拟许可证服务器,他们只是在所有许可证检查代码周围插入jmp。您可以使这更加困难(自我修改代码,在任何地方进行检查,在许可证检查成功之前未交付的代码等),但它会成为执行许可证执行的全职工作。

你正试图阻止随意的海盗,这很好。使用哈希中的许可证代码和MAC ID对许可证服务器执行简单的HTTP请求是合法的方法。有一个简单的方法来“取消注册”计算机(合理地在机器之间移动许可证或将其安装在某人的笔记本电脑IMO上),并且一旦发生变化就不要进行硬锁定。体面的模型是iTunes DRM(5台计算机,取消授权和全局重置)和Windows(基于计算机的不同程度的模糊因子)。

如果软件无法访问互联网或组织不喜欢,则通常的做法是在客户网络上安装许可服务器来管理授权部分。已经建立了中间件(FlexLM等)。维护许可证服务器是大多数IT部门不愿意接受的PITA,因此,如果您可以依靠现有的基础架构,那么您的解决方案就越容易接受。