如何保护我的许可文件?

时间:2010-12-02 14:51:23

标签: security licensing demo

我的应用程序有许可文件。它现在可以被打破并且用户可以无限制访问的唯一方法是每30天删除一次许可文件并重新安装程序。

如何最好地保护此文件? (或信息)

我的第一个想法是在windows%AllUsersProfile%下的某个地方隐藏几个文件夹。并为文件夹使用晦涩的名称,以便不宣传该位置。

另一个想法是写入注册表,但我们不能总是写入HKEY_Local_Machine,因为它需要管理员权限。

4 个答案:

答案 0 :(得分:2)

在设置过程中创建许可证文件。并考虑缺少许可证文件作为无效的许可证文件。卸载,删除文件然后重新安装比删除文件更烦人。

如果具有模糊随机名称的文件出现在我系统的某个地方,我就讨厌它,因为我想知道我是否感染了病毒,或者它是否只是一些表现不佳的软件。

不要太努力。从下一个warez网站下载破解或许可重置工具比使用它更难。一个破解者可以使用像FileMon这样的工具很快找到你的许可证文件。

一个可能实际可行的想法(除了修补你的二进制文件的裂缝):
修复下载时的到期日期并将许可证文件嵌入到设置中。这样,他们实际上需要在许可证到期时下载新版本。但是,您的用户当然可能会发现不可接受或可能不适合您的分发模式...

答案 1 :(得分:1)

强制应用程序通过端口80转到远程服务器以检查在第一次安装时设置的哈希值,可能是针对MAC地址(不是绝对保证但足够好)。如果他们再次尝试安装,则至少与MAC地址绑定,您可以停止安装。

修改

如果您的客户群很小并且您有足够的资源来支持它们,那么您可以执行相同的行为而无需访问Internet,除非客户需要找到您以获取许可证文件。它们通过系统生成密钥,再次绑定到MAC地址,然后向您发送生成许可证文件的密钥。这当然取决于每天下载的下载次数。

答案 2 :(得分:1)

几乎任何隐藏或隐藏许可证文件的方法都是可以破解的。你真的需要在一些场景中做出决定:

  1. 我相信我的客户,但他们可能会无意中违反我的许可条款
  2. 我的产品非常受欢迎,因此将成为破解者的目标
  3. 我的产品对于破解者并不感兴趣,但我的顾客都是slimebags,并会将鼻涕复制出来。
  4. 在案例1中,一个简单的许可证文件可以帮助您的客户遵守法规。可能隐藏它或遮挡它是没有必要的。我认为这不是你的情况,因为你发布了这个问题。

    在案例2和案例3中,你可以做的很少,不容易被击败。可用于破解程序的工具非常强大且可广泛使用,以及使用它们的技术。我们的公司(www.wibu.us)有一名全职的密码学家,他只关注人们如何破解软件,以便我们能够建立更强大的保护软件。

    DIY解决方案最“正常”的方法可能是使用一些“标准”算法(如AES 128位或三重DES)加密许可证文件。然后从几个因素的哈希中创建密钥,例如MAC地址,MB序列号,安装日期,以及可能的一些用户输入数据(“名称”“电话”等)。但是,加密可能会变得复杂,所以你想确保你知道你正在用这种方法做什么。

答案 3 :(得分:0)

一种解决方案是使用许可文件嵌入到期日期。如果受保护程序未找到许可证文件,则该文件无效。

因此,即使用户删除它,它也无济于事,它仍然过期。

在这种情况下唯一的问题是:您需要在分发许可证文件时修复到期日期。您可以使用其他技巧解决此问题(定期重新分发新许可证等),但这可能不适合所有需求。