繁体   English   中英

检测在虚拟机上运行

[英]Detect running on virtual machine

是否可以检测我的MacOS应用程序是否在虚拟机上运行? (我并不是说模拟器,只是一些虚拟机,例如VirtualBox或其他任何东西。)

我只有VMWare,但是我使用的技术可以扩展到VirtualBox。 除了以下简单技术外,每个VM供应商还具有与主机系统进行通信的接口。 但是,它们可能需要更高的特权。

的VMware

  1. VMWare工具如果安装了VMWare工具,则可以检查以下文件。

GFX卡

您可以检查是否已安装VmTools。 特别是/Library/Extensions文件夹中是否存在VMwareGfx.kext

VMware Tools守护程序启动器

/Library/LaunchDaemons/com.vmware.launchd.vmware-tools-userd

VMware Tools守护程序

/Library/Application Support/VMware Tools/vmware-tools-daemon

您还可以通过检查IORegistry来检查是否存在VMware图形卡
由于VMware GFX具有以下特点

设备ID:0x0405修订ID:0x0000供应商ID:0x15ad

  1. 型号标识符您可以使用system_profiler获取有关设备的所有信息。

例如, system_profiler SPHardwareDataType提供以下信息

Hardware Overview:

  Model Name: Apple device
  Model Identifier: VMware7,1
  Processor Speed: 3.23 GHz
  Number of Processors: 2
  Total Number of Cores: 2
  L2 Cache (per Processor): 256 KB
  L3 Cache (per Processor): 6 MB
  Memory: 2 GB
  Boot ROM Version: VMW71.00V.0.B64.1507021939
  SMC Version (system): 2.8f0
  Serial Number (system): VMiZVX4JH1rt
  Hardware UUID: 564D8995-57E0-91F5-AEDF-1968AB31F81E

可以使用型号标识符和引导ROM找出VMware

system_profiler SPHardwareDataType | awk '/Model Identifier/ {print $3}'

  1. 其他虚拟设备

    • VMware虚拟SATA硬盘驱动器
    • VMware虚拟USB
    • VMware Virtual SATA CDRW驱动器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM