C++中怎么读取CPU,BIOS的信息

Inhibitory 2009-09-06 02:26:03
例如读取CPU的标识,BIOS的序列号等。
...全文
2279 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
sweettrandong 2010-01-28
  • 打赏
  • 举报
回复
我急需这个东西,顶!!!
hoomey 2009-09-07
  • 打赏
  • 举报
回复
学习
acrobatyuer 2009-09-07
  • 打赏
  • 举报
回复
帮顶帮顶。。。。


回头就用哈!
wesleyluo 2009-09-07
  • 打赏
  • 举报
回复
看来 在C++中嵌入 ASM代码比较保险。用汇编指令cpuid读取cpu信息。

在计算机的BIOS芯片里有一个序列号,即BIOS序列号,据说是每一台计算机都不同的。有些软件就用这个序列号作为一个唯一的标识来使用。而在Windows优化大师中更是可以看到这个序列号,那么,他们是怎么读取的呢?
不同品牌的计算机有不同的BIOS芯片,这给BIOS序列号的读取造成了一些麻烦。但这个序列号都是存储在物理内存的0x000f0000-0x000fffff这个区域里,具体的地址根据BIOS生产厂家有所不同。
常见的BIOS生产厂家有AMI,Award,Phoenix;其中Phoenix一般用在IBM的笔记本电脑中。那么怎么鉴别BIOS的生产厂家呢?其实我也不知道有什么简单的标志,只是采取了搜索法,搜索上述内存区域,一旦发现"AMI"这个字符串就认为是AMI的BIOS,依此类推。
根据试验发现,AMI的序列号地址在0x000ff478,Award的序列号地址在0x000fec71,而Phoenix的序列号不太明确,可能是0x000f6577、0x000f7196、0x000f7550中的一个,而且Windows优化大师也没有给出这种BIOS的序列号。而试验的几种BIOS生产日期都是在0x000ffff5处。
chenyu2202863 2009-09-07
  • 打赏
  • 举报
回复
这个MS在他所给的示例里就有
j260749883 2009-09-07
  • 打赏
  • 举报
回复
有兴趣
信念 2009-09-06
  • 打赏
  • 举报
回复
mark
Inhibitory 2009-09-06
  • 打赏
  • 举报
回复
这个世界,什么也靠不住了
mstlq 2009-09-06
  • 打赏
  • 举报
回复
硬盘号也不一定唯一……
我办公室3台戴尔台式机上的硬盘序列号是一样的……
whg01 2009-09-06
  • 打赏
  • 举报
回复
CPU序号不一定唯一。
用CPU,硬盘,网卡MAC结合起来会比较可靠。
whg01 2009-09-06
  • 打赏
  • 举报
回复
可以考虑读取硬盘的串号。
看看这个,用汇编直接读取,更可靠,有读CPU,也有读硬盘。
http://topic.csdn.net/t/20030227/16/1473962.html
Inhibitory 2009-09-06
  • 打赏
  • 举报
回复
大家继续顶呀
Inhibitory 2009-09-06
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 mstlq 的回复:]
我觉得读注册表值挺悬的……
玩意用户自己去修改注册表,诚心要欺骗程序的话……
[/Quote]
用户修改了没用,因为读取后要进行加密的,
mstlq 2009-09-06
  • 打赏
  • 举报
回复
我觉得读注册表值挺悬的……
玩意用户自己去修改注册表,诚心要欺骗程序的话……
Inhibitory 2009-09-06
  • 打赏
  • 举报
回复
我的是:a0017fff
mstlq 2009-09-06
  • 打赏
  • 举报
回复
我的是a0057fff
……
Inhibitory 2009-09-06
  • 打赏
  • 举报
回复
[HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0]下的 "FeatureSet", 你们的值是多少?这个是cpu的什么信息?

搞不懂这个信息,如果每台机器上都有这个,而且是唯一的,就可以简化到直接使用这个了,呵呵
zyq1600356618 2009-09-06
  • 打赏
  • 举报
回复
读cpu信息可以用嵌入汇编cpuid指令,也可以读注册表
wanjingwei 2009-09-06
  • 打赏
  • 举报
回复
http://www.pconline.com.cn/pcedu/empolder/gj/vc/0508/691365.html
加载更多回复(4)

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧