我如何检测我是否在虚拟机内?

我如何检测我是否在虚拟机内?

我一次又一次地看到这样的安全程序描述:“请不要尝试在虚拟机内运行该程序,因为该程序将无法启动”或“如果从虚拟机运行,安全程序会说它不在有效环境中”。

我在这里想知道的是:程序如何检测它们是否在虚拟机内? 是否有某个地方设置了某个标志,或者是特定的驱动程序?

答案1

我如何检测我是否在虚拟机内?

我过去做过的一个快速方法是使用西米利都从命令提示符中输入命令来查询 WMI 名称空间对象的计算机、品牌、型号和序列号。

您可以编写一些逻辑来将 WMIC 结果用作安装过程的一部分,如果它检测到已知的东西,您可以让它作为逻辑的一部分进行检查,表明它是一个 VM,或者您可以对其进行编程以查找其他值来表明它不是 VM,或者两者兼而有之。


获取硬件序列号:

WMIC BIOS GET SERIALNUMBER

获取硬件型号:

WMIC COMPUTERSYSTEM GET MODEL

获取硬件制造商:

WMIC COMPUTERSYSTEM GET MANUFACTURER

VM 结果与 VM 结果

非虚拟机 WMIC 结果:

在此处输入图片描述

VM WMIC 结果:

在此处输入图片描述


更多资源:

答案2

相关内容