生成基于硬件的computerID
|
我有一个关于出于许可目的生成特定计算机ID的问题。优选地,该ID应该基于硬件,并且因此例如在用户重新格式化时不应改变。对于用户来说,改变生成ID所依据的信息也不容易(或者优选甚至是不可能的)。目前,我只有两个组成部分,即CPUID标准和功能标志以及计算机中第一个物理驱动器的几何形状和总大小。尽管这似乎对大多数普通PC来说都是不错的选择,但例如许多上网本都是使用完全相同的硬件制成的,因此在这种情况下,许多计算机都将获得相同的ID。你们当中有人可以建议我可以使用其他一些硬件组件吗?
我有两个要求:
它一定不能使用WMI。
它必须在很多情况下都可以工作(包括没有特权或特权很少的用户)。我曾考虑过使用物理驱动器的序列号,但是如果用户不在管理员模式下,这似乎很难找回。
我在Windows上使用C ++进行工作。
在此先感谢您的任何建议。
亲切的问候,
菲利普·本纳弗
没有找到相关结果
已邀请:
6 个回复
呈辖玫割善
恕我直言,这足以授权价值一千美元的软件,其中所需要的只是防止临时消费者与邻居共享您的软件。有动机的海盗可以绕开它,但是拥有足够知识和动力的海盗却不足以使您值得花更多的精力去击败他们,更重要的是,您不希望给诚实的客户带来不便。 如果您的软件非常有价值,以至于盗版者是真正的威胁,那么硬件加密狗的成本和不便便是合理的。 我也不相信会堆积更多的硬件签名,磁盘驱动器ID,主板配置等。安全性的增加是最小的,出现问题的机会大大增加,因此您将浪费大量的时间来为客户提供不寻常的设置,并激怒不愿放弃您的未知数。 使用MAC地址实现一个简单的系统,该系统似乎总是可行的。接受偶尔的海盗可能会从打破您的许可中获得收益。将精力集中在改进软件上,以便获得更多诚实的客户。 系统可能具有多个网卡(例如,以太网和无线网卡),并且用户可以更改演示顺序(用户为什么要这样做?)。要处理此问题,许可证将需要与系统上任何地方存在的网卡进行匹配,并要求类似以下代码:
祁澈盘哼颗
购藏盗码韦
闯舱酮
乏摩纶誊伟
超可林