修改vSphere ESXi中虚拟机的CPUID
某些软件的加密会通过读取机器的CPUID来识别,如果在虚拟机中运行,可以更改CPUID,操作如下:
使用wmic CPU get ProcessorID命令,可以查看本机的CPUID,如下图:
目前CPUID为1FABFBFF000306E4,通过修改虚拟机的*.vmx文件来达到修改CPUID的目的,在*.vmx最后添加如下两行:
cpuid.1.eax = "CPUID的后32位"
cpuid.1.edx = "CPUID的前32位"
将现在的CPUID转换成2进制并拆分成两段,如下:
1FABFBFF转换成2进制后的CPUID的前32位为:00011111101010111111101111111111
000306E4转换成2进制后的CPUID的后32位为:00000000000000110000011011100100
假设本次想将CPUID修改为0FABFBFF000306E4,则转换成2进制后的两段码为(各进制的在线转换工具):
0FABFBFF转换成2进制后的CPUID的前32位为:00001111101010111111101111111111
000306E4转换成2进制后的CPUID的后32位为:00000000000000110000011011100100
最终在*.vmx中添加如下两行:
cpuid.1.eax = "00000000000000110000011011100100"
cpuid.1.edx = "00001111101010111111101111111111"
首先将虚拟机关机,再将*.vmx下载至本地,如下图
再使用Notepad++打开刚才下载的win2008-2.vmx,并添加红框中的两行内容,完成后保存退出。
将原来的win2008-2.vmx在虚拟化平台中重命名,如下图
利用上传按扭将修改过的win2008-2.vmx上传至原目录中,打开虚拟机电源
进入操作系统,再运行wmic CPU get ProcessorID,发现已经更改为0FABFBFF000306E4。