是否可以检测我的MacOS应用是否在虚拟机上运行? (我不是指模拟器,只是像VirtualBox或其他任何东西的虚拟机......)
答案 0 :(得分:1)
我只有VMWare,但我使用的技术可以扩展到VirtualBox。除了简单的技术之外,每个VM供应商都有一个与主机系统通信的接口。但是,他们可能需要更高的权限。
GFX卡
您可以检查是否已安装VmTools。特别是VMwareGfx.kext
文件夹中存在/Library/Extensions
VMware Tools后台程序启动器
/Library/LaunchDaemons/com.vmware.launchd.vmware-tools-userd
VMware Tools后台程序
/Library/Application Support/VMware Tools/vmware-tools-daemon
您还可以通过选中IORegistry
来检查是否存在VMware Graphics卡
由于VMware GFX有以下
设备ID:0x0405 版本ID:0x0000 供应商ID:0x15ad
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
模型标识符和Boot ROM可用于查找VMware
system_profiler SPHardwareDataType | awk '/Model Identifier/ {print $3}'
其他虚拟设备