我最近实现了一个具有模糊匹配功能的硬件锁定许可系统,可以处理硬件中的更改,而无需重新激活,但我需要更多硬件来匹配,以确保更安全/创建更可靠的模糊匹配。
现在我正在匹配以下内容:
- 物理MAC地址
- 硬盘序列号
- RAM 部件号/制造商/尺寸
- 处理器ID
还有哪些其他特定于机器的不变硬件序列号适合在这种情况下使用,并且可以从 C# 轻松检索。
检索此类硬件信息的代码示例也将受到赞赏。
澄清
当我说“不变”时,我指的是不直接修改机器中的硬件而不会改变的硬件序列或信息。 (IE不会自行改变,也不会通过软件改变)
我曾在一家从事此类硬件指纹识别的公司工作过,我可以告诉您,商业替代方案通常相当可靠,但在某些合法情况下它们都会失败。
请注意,该领域的一些专利得到了非常积极的执行。一些提出硬件锁定算法的大型成功公司(如微软)已被成功起诉。如果你在所做的事情上非常成功,那么不幸的事情可能会发生在你身上。
如果您认为需要硬件锁定,请选择一家能够让您轻松为那些对系统进行合法升级但最终违反模糊匹配规则的客户提供客户服务的公司。并且,准备好快速有效地提供该服务。
对于大多数用例,我会警告不要硬件锁定。它对您的软件施加了限制,这往往会妨碍您的合法客户使用该软件的合法愿望。
Update
除了您列出的指标之外,还可以使用以下一些指标。我还没有研究从 C# 中特别容易获得哪些代码,因为我在这个级别处理的大多数代码都是可移植的 C++,并根据需要提供了一些特定于平台的程序集。
- BIOS 校验和
- 处理器的数量和类型(处理器 ID 并非适用于所有处理器)
- 显卡详细信息(经常升级的部分,但提供了一点额外的熵)
- 连接的显示器数量、屏幕分辨率、品牌(经常变化,但又增加了一点熵)。
- 安装的字体不寻常且差异很大(例如忽略从 Office 等获得的字体)
- 的 Mac 地址all安装的 NIC(例如 WiFi、有线)
- 系列all安装的硬盘
- 枚举其他设备(例如 DVD、CD、内置读卡器)
请记住,笔记本电脑插入扩展坞后可能会获得许多额外的端口、新的显示器等......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)