软件保护建议

发布于 2024-12-14 12:18:41 字数 321 浏览 0 评论 0原文

我正在尝试找到一种保护需要管理其用户的程序的好方法。该程序针对的是一个非常特定的市场,人们不遗余力地破解或盗版它的可能性很小,所以这不是问题。

目前,我们通过用户名/MAC 地址绑定用户,由于笔记本电脑扩展坞或 WiFi 的问题,这是保护软件安全的一种非常糟糕的方法。

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

- 不需要完全安全,只需要降低故障率

这将是 xp-> 的纯 Windows 环境Windows 7 可以运行在从笔记本电脑到服务器和虚拟机的任何设备上。

谢谢

I am trying to find a good way of protecting a program that needs to manage its users. The program is targeted for a very specific market that has a low chance of being people going out of their way to crack or pirate it, so that is not the issue.

Currently we bind the user by username / MAC address and that is a very bad way of securing the software due to issues with laptop docks or wifi.

I need a way figuring out how to bind the user to a machine so if they try to use the same software on another computer it will not work.

-Does not need to be totally secure, just needs to have less rate of failure

It will be a windows only environment from xp-> windows 7 that could be on anything from laptop to servers and VMs.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

怪我鬧 2024-12-21 12:18:41

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

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

Usually they bind to multiple ID-s (HDD serial number, MAC address, processor serial, etc.) and check that at least some of the ID-s are matching (so a replaced HDD will not break the sw).
But the list of hw/licence ids are quite platform specififc, so without knowing that there is no exact answer.

Edit: (if you bind to a single MAC address, you could still perform quite well, assuming you're using the built-in LAN interface(s), not the active one)
(for servers its more difficult, as they usually have multiple LAN if-s, so you would definitely need an id list)

甜中书 2024-12-21 12:18:41

(披露 - 我在 Agilis Software 工作,这是一家软件保护系统提供商)。

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

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

希望这有帮助。

(Disclosure - I work for Agilis Software, a provider of software protection systems).

First of all, the MAC address is not a good idea for locking, even if it is widely used, as it can be set by an admin, making it easy to run your app anywhere. A combination of parameters is best, but you do need to think about the following (all provided for in Agilis's system, of course):

  • What if a parameter changes, due to the user upgrading their system? Do you want the license to stop running, or to have some tolerance for minor system changes so it keeps running?
  • How will you obtain the locking parameters? Any human involvement opens you to error and inconvenience for your user (typos, upper case versus lower case, entering '1' for 'l' or 'O' for '0' etc.)
  • What if the user wants to move their license to a different machine? Can they do so without inconvenience, but without you being opened up to having many copies running under one license?
  • A related topic - what will you do when the user calls and says "Help, my system crashed and I need to get my license up on another machine!". You WILL receive these calls...
  • You mentioned virtual machines. The basic approach here is to lock to invariant logical parameters of the virtual machine. For extra security you can also have your app periodically 'phone home'.

Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文