3

我想检索机器的唯一 ID。

和其他人一样,我也做了很多研究,发现唯一 ID 生成的过程没有一个是完美的。

主板序列号(ID):唯一;它不能改变。但是,如果制造商没有在内存位置上提供信息,则可能无法在某些机器中找到它。然后我发现它没有给出唯一 ID .. 哈哈

对于“处理器 ID”、“BIOS ID”也是如此。

害怕使用PC的其他硬件信息。

MAC 和 Windows 产品 ID 可以通过软件进行更改。

“Windows 产品 ID”是唯一的吗?

一种选择是将这些组合起来,但如果应用上述条件,组合不是唯一的怎么办?

还有其他方法可以找到机器的唯一 ID 吗?


编辑: 我想根据该唯一 ID 生成用于软件盗版保护的序列密钥。机器是指我必须安装软件的目标 PC。@Guge:谢谢提及。

4

3 回答 3

2

机器的唯一 ID?

正如您所发现的,没有“机器唯一 ID ”之类的东西。

您需要定义您的要求,并使用满足这些要求的 ID(可能由您自己分配)。例如对于 Web 应用程序,带有 GUID 的 cookie 可能足以区分其他匿名用户(可以忽略使用多个浏览器或“私人”模式的少数用户)。

对于系统管理而言,在系统级别分配 GUID 就足够了(无论如何都需要单独跟踪具有多重引导的多个操作系统安装)。

...

于 2010-08-26T10:12:07.060 回答
2

因为其中一些 ID 可能会丢失,并且用户可以更换组件,所以您需要确定“机器”的含义。

例如,我会查看主板 id、处理器 id 和 bios id,因为这些是最不可能改变的。然后我会寻找所有三个,并允许一个自上次以来丢失和/或更改。如果满足这些条件,则允许软件运行。

如果两个甚至三个都丢失,我不知道你会怎么做,因为正如你所说,MAC 地址等其他内容可以通过软件更改,而硬盘 ID 可能不是唯一的,并且可能会更频繁地更改。

于 2010-08-26T10:12:35.113 回答
1

如果您在计算机所有者故意试图绕过您的唯一检查的情况下尝试跟踪唯一计算机,例如每个玩家只需要一个帐户的免费计算机游戏,我已经看到了上面提到的类似方法,但使用使用一些加密。

收集或尝试收集几条相对稳定的 PC 信息(主板 ID / MAC 地址 / BIOS)将它们与盐前缀组合,然后使用简单的免费算法对其进行加密。该密钥是您为该播放器存储的内容以及他们的用户 ID,类似于密码的加密方式。该密钥将是“机器”的一个很好的唯一标识符,您可以在他们每次登录时检查它。

您可以查询几条计算机信息,具体取决于您希望与更改组件的普通人一起获得的风险有多大,但只要您检查的所有内容都没有空白,那么您应该是非常安全的。

于 2017-09-28T19:59:39.430 回答