I have recently come across a piece of software that managed to bypass VBoxHardenedLoader and still detect the virtual machine. It did it by using Windows Management Instrumentation calls and checking the PNP device IDs by running a query SELECT DeviceID FROM Win32_PnPEntity and getting all fields with name DeviceID.
fixes the detection but it is a temporary fix (in the case of the Graphics Controller) and may cause performance issues with the graphics (the PS/2 mouse works well as long as you disable "Enhance pointer precision" in Windows settings).
Switching to the PS/2 mouse is still a good idea in and of itself, as it has a very generic ID, not unique to VMs.
The VMSVGA graphics controller shares part of its ID with different devices, sloppy software wouldn't detect it.
(Updated my original comment a couple of times since first posting it as I decided to do some more research and arrived at different conclusions)
I've created PR #94 as a temporary fix to the issue. The PS/2 mouse ID cannot be ever used for VM identification as it's a generic mouse, so this part is permanent.
I have recently come across a piece of software that managed to bypass VBoxHardenedLoader and still detect the virtual machine. It did it by using
Windows Management Instrumentation
calls and checking the PNP device IDs by running a querySELECT DeviceID FROM Win32_PnPEntity
and getting all fields with nameDeviceID
.The following PNP IDs are unique to VirtualBox:
Among those IDs, this is the full list of IDs checked, but only
vid_80ee
is present in VBox.This could be fixed by somehow spoofing those device IDs (possibly with devcon), but would undoubtedly cause driver issues.
UPDATE 1: Changing VM settings to:
fixes the detection but it is a temporary fix (in the case of the Graphics Controller) and may cause performance issues with the graphics (the PS/2 mouse works well as long as you disable "Enhance pointer precision" in Windows settings).
Switching to the PS/2 mouse is still a good idea in and of itself, as it has a very generic ID, not unique to VMs.
The VMSVGA graphics controller shares part of its ID with different devices, sloppy software wouldn't detect it.
(Updated my original comment a couple of times since first posting it as I decided to do some more research and arrived at different conclusions)