怎么样才能获取唯一的CPU序列号

怎么才能获取唯一的CPU序列号,看到网上有说 Intel Pentium III 以后CPU唯一的序列号都获取不了?
经过验证,用 wmic CPU get ProcessorID 命令得到的CPU序列号不是唯一的,想问问有什么方法可以得到CPU唯一的序列号?

0

3个回答

(1)只有 Pentium III 处理器有序列号(Serial Number),因为处理器的序列号使得互联网企业可以跟踪到用户的身份,所以遭到了政府和市场的抵制,Intel 被迫允许在 BIOS 中禁止读取序列号,并且从 Pentium 4 开始,再也没有提供序列号的功能。
(2) CPU ID 不是序列号,相同批次步进的数万块甚至更多的 CPU,其 CPUID 是完全相同的。
如果你不相信,可以去淘宝买几枚二手廉价的同型号的处理器,自己做试验。

网上流传大量的将CPU ID视作处理器序列号的文章,互相抄袭,请lz注意自己甄别。

因为CPU并没有提供唯一的序列号,根本就没有,所以不要试图再浪费时间寻找什么“获取唯一的CPU序列号”,这无异于寻找永动机。如果你出于某种需要,可以设法采集别的计算机的唯一特征,比如主板id,mac地址,硬盘物理序列号,或者自己写一个序列号,藏在主板的dmi表里面等。然而这些事实上也都能伪造。

解决的办法是使用硬件加密狗。

2

一、CPU都有一个唯一的ID号,称CPUID,是在制造CPU的时候,由厂家置入到CPU内部的。

二、查看方法:

1、右点开始,选运行,并输入CMD。
图片说明

2、输入wmic CPU get ProcessorID ,就可以得到ID。
图片说明

三、作用和意义:

由于CPU外在的所有标记、符号,都是可以人为打磨,而CPUID却是终身不变的,只能用软件读出ID号;因此,利用这个原理,CPU ID工具可以显出CPU的确切信息,包括移动版本、主频、外频、二级缓存等关键信息,从而查出超频的CPU,并且醒目地显示出来。

0
Bokutake
辰岡墨竹 这个不是唯一序列号。PentiumIII才有唯一序列号,CPUID能返回这个唯一序列号。但是Pentium4之后的CPU不再支持这个序列号了。你拿到的只是CPUID返回的别的信息,比如CPU产品步进
12 天之前 回复

你可以尝试通过获取CPU ID, 硬盘序列号, 然后交叉组合一下, 再获取其MD5码来使用;

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
获取cpu 序列号 硬盘序列号
是c语言做的一个简单的注册机,可以获取cpu序列号,硬盘序列号等信息,通过md5加密生成注册码,可以参考制作注册机
在WIN2000下怎么样才能读取硬盘的出厂的唯一的序列号????
用VXD不行?rnrn也无法修改IDT的中断描述符/rnNT/2000不是RING0-RING3的保护机制吗?rn怎么样才能读取硬盘的序列号?rn是出厂的序列号·!rn不是卷标!!!!!!!!!!!!
获取CPU及硬盘序列号
获取CPU及硬盘序列号 string Cpu_ID = ""; string Hard_Driver = ""; try { ManagementClass mcCpu = new ManagementClass("win32_Processor"); ManagementObjectCollection mocCpu = mcCpu.GetInstances(); foreach (ManagementObject m in mocCpu) { Cpu_ID = m["ProcessorId"].ToString(); break; } } catch { Cpu_ID = ""; } try { ManagementObjectSearcher mcDisk = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia"); ManagementObjectCollection mocDisk = mcDisk.Get(); foreach (ManagementObject mm in mocDisk) { Hard_Driver = mm["SerialNumber"].ToString().Trim(); break; } } catch { Hard_Driver = ""; }
怎样获取CPU序列号
在软件版权保护的时候可以用CPU的序列号来保证只在一台机上运行,有哪一位师兄可以告诉我如何才能获得CPU的序列号,或者有什么更好的保护软件的办法。谢谢!
获取CPU 序列号问题
[code=C/C++] rn unsigned long s1,s2; rn unsigned char vendor_id[]="------------";//CPU提供商ID rn CString str1,str2,str3; rn // 以下为获得CPU ID的汇编语言指令 rn _asm // 得到CPU提供商信息 rn rn xor eax,eax // 将eax清0 rn cpuid // 获取CPUID的指令 rn mov dword ptr vendor_id,ebx rn mov dword ptr vendor_id[+4],edx rn mov dword ptr vendor_id[+8],ecx rn rn str1.Format("%s",vendor_id); rn rn _asm // 得到CPU ID的高32位 rn rn mov eax,01h rn xor edx,edx rn cpuid rn mov s1,edxrn mov s2,eax rn rn str2.Format("%08X-%08X\n",s1, s2);rn rn _asm // 得到CPU ID的低64位 rn rn mov eax,03h rn xor ecx,ecx rn xor edx,edx rn cpuid rn mov s1,edx rn mov s2,ecx rn rn str3.Format("%08X-%08X\n",s1,s2); rn rn str2=str2+str3; rnrn str1+="\r\n";rn str1+=str2;rnrn MessageBox(str1); rn[/code]rn我在获取CPU 序列号时,使用了如下从网上找的程序,但只能输出 str2。 str3输出全为零,GenuineIntelrnBFEBFBFF-0001067Arn00000000-00000000rn不能准确获取rn我用网上下的一个工具却能全部得到此序列号。rnBFEBFBFF-0001067A 01020800 0400E33BDrn不知什么原因,得不到完整序列号,或者看看有没有其它办法等到CPU 序列号。特别感谢!rn
获取CPU的序列号?
rn(1)实现下面的代码可以获取CPU的序列号,但是为什么在有一些机器上得到的CPU序列号是一样的?rnrn[code=C/C++]rnvoid GetCpuID(string& strCpuID)rn// CPU ID rn BOOL bException = FALSE;rn BYTE szCpu[32] = 0 ; rn UINT uCpuID = 0U;rn char szBuf[256] = 0;rn UINT s1 = 0U;rn UINT s2 = 0U;rn rn __try rn rn _asm rn rn mov eax,01h rn xor edx,edx rn cpuid rn mov s1,edx rn mov s2,eax rn rn sprintf(szBuf, "%08X%08X", s1, s2);rn rn __except( EXCEPTION_EXECUTE_HANDLER ) rn rn bException = TRUE; rn rn if( !bException ) rn rn strCpuID = szBuf;rn rnrn[/code]rnrn(2)在双核电脑上用C#的使用WMI获得的CPU序列号是 BFEBFBFF0001067ABFEBFBFF0001067A ,rn 用上面的方法获得CPU序列号是 BFEBFBFF0001067A ?rn 难道双核处理的CPU序列号是两个吗?
获取CPU序列号
VB获取CPU的序列号,可以用来制作注册程序,绑定电脑。
获取cpu序列号
开发十年,就只剩下这套Java开发体系了 >>>    ...
如何获取CPU序列号?
如何获取CPU序列号?
如何获取cpu序列号
我想获取cpu的序列号用来实现我的软件加密,希望各位大哥大姐帮忙。但是如果是类似以下的代码就不要贴出来了,因为它获得的是cpu编号,不是序列号,同一批次出厂的cpu的编号是相同的,它无法满足我实现加密的要求。谢谢!rn[code=C#][/code]public static string GetComputerId() string sProcessorID = ""; string diskID = ""; string sQuery = "SELECT ProcessorId FROM Win32_Processor"; ManagementObjectSearcher oManagementObjectSearcher = new ManagementObjectSearcher(sQuery); ManagementObjectCollection oCollection = oManagementObjectSearcher.Get(); foreach (ManagementObject oManagementObject in oCollection) sProcessorID = (string)oManagementObject["ProcessorId"]; return (sProcessorID); rn rnrn[code=C#][/code]rnpublic static string GetComputerId() string cpuInfo = "";//cpu序列号 ManagementClass cimobject = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = cimobject.GetInstances(); foreach (ManagementObject mo in moc) cpuInfo = mo.Properties["ProcessorId"].Value.ToString(); return cpuInfo;
获取cpu序列号的问题.
我用WMI在两台机器上获取的cpu序列号为什么是一样的?(两台机子是同一品牌的机器)
如何获取CPU序列号
如何获取CPU序列号
获取CPU序列号问题
用cpuid指令,获取的cpu序列号在windows环境下是否不一定唯一?
Android获取CPU序列号
我们大家看到标题就应该明白了,android也是可以获得我们手机的cpu序列号的,这证明了android是一个非常强大的系统,虽然现在还是有一些小的bug,但是到目前为止,android是一个非常好的手机系统,之所以非常好,android才可以和苹果抗衡,形成手机的流行操作系统。不多说了,下面我们就来看看代码吧: /** * 获取CPU序列号 * * @return CPU序...
获取硬盘cpu序列号
获取硬盘cpu序列号源代码完全代码格式精确详细的指导其原理 VC++6.0
######### 获取CPU序列号出错!
我用下面的方法获取CPU序列号,在本机没有什么问题rnrnstring szCPUInfo = "";rnManagementClass cimobject = new ManagementClass("Win32_Processor");rnManagementObjectCollection moc = cimobject.GetInstances();rnforeach(ManagementObject mo in moc)rnrn szCPUInfo = mo.Properties["ProcessorId"].Value.ToString();rn MessageBox.Show(szCPUInfo);rnrnrn但今天到客户机器上就出问题了,获取不到序列号!rnrn机器配置:rnP4 2.4G rn845主板rnrnrnrn
获取CPU的序列号
获取CPU的序列号
获取计算机CPU序列号
可以获取计算机CPU序列号,可用于用于软件注册方面。
如何才能获得CPU的序列号
在软件版权保护的时候可以用CPU的序列号来保证只在一台机上运行,有哪一位师兄可以告诉我如何才能获得CPU的序列号,或者有什么更好的保护软件的办法。谢谢!
如何获取CPU 或 主板 唯一标示(如:序列号)
如何获取CPU 或 主板 唯一标示(如:序列号)用汇编,c 都可以
vc 获取 硬盘序列号 和 cpu 唯一iD的方法?
如题---------网上找来很多资料 也没找到, 要支持xp win7 32/64 系统下都能获取 硬盘序列号 和cpu ID 哪位朋友帮帮忙;
??谁知道如何取CPU序列号(唯一值)?
-
谁知道如何取CPU序列号(唯一值)?
-
如何获取唯一的CPU编号?
我在不同的电脑上用下面的方法获取到的CPU编号竟然是一样的,有没有获取唯一的CPU编号方法呀?因为CPU编号每个CPU都是不同的。rnpublic String GetCpuID() rn rn tryrn rn ManagementClass mc = new ManagementClass("Win32_Processor");rn ManagementObjectCollection moc = mc.GetInstances();rn rn String strCpuID = null ;rn foreach( ManagementObject mo in moc ) rn rn strCpuID = mo.Properties["ProcessorId"].Value.ToString();rn break; rn rn return strCpuID;rn rn catchrn rn return "";rn rnrn
如何获取 CPU的序列号 和主板的序列号?
如何获取 CPU的序列号 和主板的序列号?
怎样获取CPU序列号和网卡序列号
大家都在找硬盘的序列号,不知能不能找到CPU序列号和网卡序列号呢?
C++获取电脑CPU序列号及硬盘序列号
C++获取电脑CPU序列号及硬盘序列号,采用C++MFC开发的一个小功能,用于生成设备号。
如何获取CPU序列号,硬盘序列号。
如何获取CPU序列号、硬盘序列号, BS模式的!!rnrn 要那种网站在服务器上发布以后 ,客服端运行时获取的是客服端的序列号 而不是服务器端的序列号。
获取CPU序列号、主板序列号、硬盘ID
获取cpu序列号 获取主板序列号 获取硬盘ID
获取硬盘物理序列号和CPU序列号
详细情况请看例子! 提供LIB文件! 本DLL可以在VC、C++Builder、VB、Delphi、PowerBuilder中使用!
asp获取 硬盘序列号,cpu序列号
我用硬盘序列号,cpu序列号来绑定客服端
pda有没有cpu,如何获取cpu序列号?
pda有没有cpu,如何获取cpu序列号?
怎么样才能获取表名
如果数据源已经知道怎么才能获取数据库中所有的用户表.rn就象AdoTable的tablename属性一样.rn要是任意数据库,Orcale,或SQL Server
VC++获取CPU序列号 CPU ID
主要用到获取CPU ID值的汇编指令: CString CGetCPUIDDlg::GetCPUID() { CString strCPUID; unsigned long s1, s2; __asm{ mov eax, 01h xor edx, edx cpuid mov s1, edx mov s2, eax } strCPUID.Format(...
vc++ 程序获取CPU序列号
vc++工程代码,可以获取你的CPU序列号
获取CPU、硬盘、网卡序列号
三个独立类,需要调用哪种接口,直接包含头文件,声明对象,调用接口,搞定。VC6.0工程WINDOWXP准确无误
Qt中获取CPU的序列号
亲测在Qt中能正确获取CPU序列号,获取序列号的代码如下:     unsigned long s1,s2,s3,s4;     char string[128];     char szCpuId[1024];     char p1[128], p2[128];     unsigned int eax = 0;     unsigned int ebx,ecx,edx;  
Andriod 获取硬件CPU的序列号
今天需要获取公司E人E本的cpu序列号,在网上搜索后,在eoeandroid社区找到一段代码,很方便的获取到了cpu序列号,在模拟器上运行,获取的cpu序列号为"0000000000000000" 代码: [code="java"] public static String getCPUSerial() { String str = "", strCPU = "", cpuA...
如何获取CPU的序列号?(50分)
如何获取CPU的序列号?(50分)
求救:如何获取CPU的序列号?
请问如何获取CPU的序列号。
相关热词 c# 线程顺序 c#昨天当前时间 c# 多进程 锁 c#mysql图片存取 c# ocx 委托事件 c# 读取类的属性和值 c# out 使用限制 c#获取url的id c#怎么进行分页查询 c# update 集合