1

我试图找到一种保护需要管理其用户的程序的好方法。该程序针对的是一个非常特定的市场,人们极少可能会想方设法破解或盗版它,所以这不是问题。

目前,我们通过用户名/MAC 地址绑定用户,由于笔记本电脑底座或 wifi 的问题,这是一种非常糟糕的软件保护方式。

我需要一种方法来弄清楚如何将用户绑定到机器上,这样如果他们尝试在另一台计算机上使用相同的软件,它将无法正常工作。

- 不需要完全安全,只需要降低失败率

从 xp-> windows 7 开始,它将是一个仅限 Windows 的环境,可以在从笔记本电脑到服务器和虚拟机的任何设备上。

谢谢

4

2 回答 2

0

(披露——我为软件保护系统提供商 Agilis Software 工作)。

首先,MAC地址不是锁定的好主意,即使它被广泛使用,因为它可以由管理员设置,从而可以轻松地在任何地方运行您的应用程序。参数组合是最好的,但您确实需要考虑以下事项(当然,所有这些都在 Agilis 的系统中提供):

  • 如果由于用户升级系统而导致参数发生变化怎么办?您是否希望许可证停止运行,或者对较小的系统更改有一定的容忍度以使其继续运行?
  • 您将如何获得锁定参数?任何人为参与都会给您的用户带来错误和不便(拼写错误、大写与小写、输入“1”代表“l”或输入“O”代表“0”等)
  • 如果用户想将他们的许可证移动到另一台机器上怎么办?他们可以在没有不便的情况下这样做,但又不会允许您在一个许可证下运行许多副本吗?
  • 一个相关的话题——当用户打电话说“求助,我的系统崩溃了,我需要在另一台机器上获取我的许可证!”时,你会怎么做。您将收到这些电话...
  • 你提到了虚拟机。这里的基本方法是锁定虚拟机的不变逻辑参数。为了额外的安全,您还可以让您的应用定期“打电话回家”。

希望这可以帮助。

于 2011-11-11T21:47:10.887 回答
0

通常它们绑定到多个 ID-s(HDD 序列号、MAC 地址、处理器序列号等)并检查至少一些 ID-s 是否匹配(因此更换的 HDD 不会破坏 sw)。但是硬件/许可证 id 的列表是平台特定的,所以不知道没有确切的答案。

编辑:(如果您绑定到单个 MAC 地址,您仍然可以执行得很好,假设您使用的是内置 LAN 接口,而不是活动接口)(对于服务器来说更困难,因为它们通常有多个 LAN if-s,所以你肯定需要一个 id 列表)

于 2011-11-08T23:14:25.307 回答