2017-03-26 6 views
0

Kann ich feststellen, ob meine MacOS-App auf einer virtuellen Maschine läuft? (Ich meine nicht den Simulator, nur einige VM wie VirtualBox oder irgendetwas anderes ..)Erkennung läuft auf der virtuellen Maschine

+1

Verwandte http://stackoverflow.com/questions/154163/detect-virtualized-os-from-an-application und http://stackoverflow.com/questions/498371/how-to-detect -im-meiner-Anwendung-läuft-in-einer-virtuellen-Maschine und mehreren anderen. – Sulthan

Antwort

1

Ich habe nur VMWare, aber die Techniken, die ich verwendet habe, können auf VirtualBox erweitert werden. Neben einfachen Techniken verfügt jeder VM-Anbieter über eine Schnittstelle, um mit dem Host-System zu kommunizieren. Sie benötigen jedoch möglicherweise höhere Berechtigungen.

VMware

  1. VMWare Werkzeuge Wenn VMware Tools installiert ist, können Sie Dateien folgende überprüfen.

GFX Karte

können Sie prüfen, ob VMTools installiert ist. Besonders das Vorhandensein von VMwareGfx.kext innerhalb /Library/Extensions Ordner

VMware Tools Daemon Launcher

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

VMware Tools Daemon

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

können Sie auch prüfen, ob es VMware Graphics Karte per Scheck vorlegen ing IORegistry
Seit VMware GFX hat folgende

Device ID: 0x0405 ID Version: 0x0000 Vendor ID: 0x15ad

  1. Modell Identifier Sie können alle Informationen über Geräte erhalten mit system_profiler

Zum Beispiel system_profiler SPHardwareDataType ergibt folgende Informationen

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 

Modell-Identifizierung und Boot-ROM können verwendet werden, VMware, um herauszufinden,

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

  1. Andere virtuelle Geräte

    • VMware Virtual SATA-Festplatte
    • VMware Virtual USB
    • Virtuelles VMware SATA CDRW Laufwerk
Verwandte Themen