diff --git a/SafeExamBrowser.SystemComponents/VirtualMachineDetector.cs b/SafeExamBrowser.SystemComponents/VirtualMachineDetector.cs index 31cb5d34..b60fcdbf 100644 --- a/SafeExamBrowser.SystemComponents/VirtualMachineDetector.cs +++ b/SafeExamBrowser.SystemComponents/VirtualMachineDetector.cs @@ -16,6 +16,8 @@ namespace SafeExamBrowser.SystemComponents public class VirtualMachineDetector : IVirtualMachineDetector { private static readonly string[] PCI_VENDOR_BLACKLIST = { "vbox", "vid_80ee", "qemu", "ven_1af4", "ven_1b36", "subsys_11001af4" }; //Virtualbox: VBOX, 80EE RedHat: QUEMU, 1AF4, 1B36 + private static readonly string VIRTUALBOX_MAC_PREFIX = "080027"; + private static readonly string QEMU_MAC_PREFIX = "525400"; private ILogger logger; private ISystemInfo systemInfo; @@ -42,7 +44,7 @@ namespace SafeExamBrowser.SystemComponents if (macAddress != null && macAddress.Count() > 2) { - isVirtualMachine |= ((byte.Parse(macAddress[1].ToString(), NumberStyles.HexNumber) & 2) == 2 || macAddress.StartsWith("080027")); + isVirtualMachine |= (macAddress.StartsWith(QEMU_MAC_PREFIX) || macAddress.StartsWith(VIRTUALBOX_MAC_PREFIX)); } foreach (var device in plugAndPlayDeviceIds)