我正在开发一些我最终会销售的软件。我一直在考虑不同的复制保护机制,包括自定义和第三方。我知道没有任何复制保护是100%完全证明,但我至少需要尝试。所以我正在寻找一些我正在考虑的方法的意见:
我正在考虑的一种方法是让我的软件在启动时连接到远程服务器,以便根据以太网端口的MAC地址验证许可证。
无论如何,只是为那些可能走上这条道路的人寻找一些意见。
似乎远程服务器相关软件似乎是最有效的复制保护机制之一,不仅仅是因为难以规避,而且在开发人员端管理许可证也很容易。
答案 0 :(得分:3)
请记住,如果有人想盗版您的软件,他们会。通常,他们甚至不打算模拟许可证服务器,他们只是在所有许可证检查代码周围插入jmp
。您可以使这更加困难(自我修改代码,在任何地方进行检查,在许可证检查成功之前未交付的代码等),但它会成为执行许可证执行的全职工作。
你正试图阻止随意的海盗,这很好。使用哈希中的许可证代码和MAC ID对许可证服务器执行简单的HTTP请求是合法的方法。有一个简单的方法来“取消注册”计算机(合理地在机器之间移动许可证或将其安装在某人的笔记本电脑IMO上),并且一旦发生变化就不要进行硬锁定。体面的模型是iTunes DRM(5台计算机,取消授权和全局重置)和Windows(基于计算机的不同程度的模糊因子)。
如果软件无法访问互联网或组织不喜欢,则通常的做法是在客户网络上安装许可服务器来管理授权部分。已经建立了中间件(FlexLM等)。维护许可证服务器是大多数IT部门不愿意接受的PITA,因此,如果您可以依靠现有的基础架构,那么您的解决方案就越容易接受。