Posts tagged ‘cpuid’

修改vSphere ESXi中虚拟机的CPUID

某些软件的加密会通过读取机器的CPUID来识别,如果在虚拟机中运行,可以更改CPUID,操作如下:

使用wmic CPU get ProcessorID命令,可以查看本机的CPUID,如下图:

cpuid01

目前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下载至本地,如下图

v6.5vmrc06

再使用Notepad++打开刚才下载的win2008-2.vmx,并添加红框中的两行内容,完成后保存退出。

v6.5vmrc07

将原来的win2008-2.vmx在虚拟化平台中重命名,如下图

v6.5vmrc08

利用上传按扭将修改过的win2008-2.vmx上传至原目录中,打开虚拟机电源

v6.5vmrc10

进入操作系统,再运行wmic CPU get ProcessorID,发现已经更改为0FABFBFF000306E4。

v6.5vmrc11