软件保护建议

时间:2011-11-08 23:01:57

标签: bind software-design software-distribution software-protection

我正在努力寻找一种保护需要管理其用户的程序的好方法。该计划针对的是一个非常具体的市场,人们很少有机会破解或盗版它,所以这不是问题。

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

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

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

它将是一个仅限Windows的环境,来自xp-> Windows 7,可以是从笔记本电脑到服务器和虚拟机的任何东西。

由于

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

(披露 - 我为software protection系统的提供商Agilis Software工作。

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

  • 由于用户升级系统而导致参数发生变化会怎样?您是希望许可证停止运行,还是要对次要系统更改有一定的容忍度,以便它继续运行?
  • 您将如何获得锁定参数?任何人为的参与都会让您误解并为您的用户带来不便(错别字,大写与小写,'1'为'1'或'0'为'0'等等。)
  • 如果用户想将其许可证移至其他计算机,该怎么办?他们可以在没有不便的情况下这样做,但是如果你没有开放在一个许可下运行许多副本吗?
  • 一个相关的主题 - 当用户打电话给你说“帮助,我的系统崩溃,我需要在另一台机器上获得我的许可证时,你会做什么!”。你会收到这些电话......
  • 您提到了虚拟机。这里的基本方法是锁定虚拟机的不变逻辑参数。为了更加安全,您还可以定期让您的应用“回家”。

希望这有帮助。