易语言源码提供变量用来接收虚拟化平台类型,仅返回真时此参才有效;(”Microsoft Hv” -> VirtualServer、VirtualPC、Hyper-V)(”VMwareVMware” -> VMware)(”XenVMMXenVMM” -> XenHVM)(”KVMKVMKVM” -> KVM)

实现原理:将 eax=0x1 ,调用 CPUID 指令之后,ecx 的高 31 位可以判断出是否在虚拟机中,如果 ecx 的高 31 位为 0 表示在虚拟机下,否则在主机下!
当在虚拟机中时,将 eax=0x40000000,在调用 CPUID 指令之后即可在 ebx ecx edx 中取出虚拟化平台类型的标识。

发表回复

后才能评论