基于CPU标志的唯一计算机ID

时间:2013-02-19 11:30:40

标签: uniqueidentifier bios license-key cpuid

我需要使用唯一的计算机ID来进行软件许可。我决定使用CPU Flags。在MSVC上,使用函数__cpuid和gcc版本4.3及其函数__get_cpuid重新启动它们。我从这些函数中得到一个整数,它是一个位数组,目的是用作唯一ID。

我不确定使用上述功能检索的CPU标志是否会发生变化?这些标志可以由用户以编程方式更改吗?如果不是通过常规应用可能通过BIOS?

谢谢。

2 个答案:

答案 0 :(得分:0)

不,最终用户无法更改它们,因为您列出的每个命令实际上都是英特尔(和英特尔 - 克隆)芯片中提供的实际处理器操作码cpuid的包装器。

因此,此信息被“烧毁”到硅片中。没有用户可以更改它。

以下资源可能会有所帮助:

1)Wikipedia's article on CPUID

2)Code guru article (2 pages) on accessing processor info using a call to CPUID

3)Table listing many processors by stepping, family, and model numbers

答案 1 :(得分:-1)

在一些测试之后,我可以确认Info Type 1的第二个字节的标志正在改变。所以我会坚持使用Stepping ID,Model,Family和Processor Type值。