You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/documentation.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -510,7 +510,7 @@ VMAware provides a convenient way to not only check for VMs, but also have the f
510
510
|`VM::HDD_SERIAL`| Check for serial numbers of virtual disks | Windows | 100% |||||
511
511
|`VM::PORT_CONNECTORS`| Check for physical connection ports | Windows | 25% |||| This technique is known to false flag on devices like Surface Pro |
512
512
|`VM::GPU_CAPABILITIES`| Check for GPU capabilities related to VMs | Windows | 100% | Admin ||| Admin only needed for some heuristics |
513
-
|`VM::GPU_VM_STRINGS`| Check for specific GPU string signatures related to VMs | Windows | 100% |||||
513
+
|`VM::GPU_VM_STRINGS`| Check for specific GPU string signatures related to VMs | Windows | 100% ||||If GPU_CAPABILITIES also flags, the overall score will be 50 instead of 100|
514
514
|`VM::VM_DEVICES`| Check for VM-specific devices | Windows | 50% |||||
515
515
|`VM::IDT_GDT_SCAN`| Check if the IDT and GDT virtual base addresses are equal across different CPU cores when not running under Hyper-V | Windows | 50% |||||
516
516
|`VM::PROCESSOR_NUMBER`| Check for number of processors | Windows | 50% |||||
@@ -527,9 +527,9 @@ VMAware provides a convenient way to not only check for VMs, but also have the f
527
527
|`VM::NATIVE_VHD`| Checks if the OS was booted from a VHD container || 100% |||||
528
528
|`VM::NATIVE_VHD`| Check for OS being booted from a VHD container | Windows | 100% |||||
529
529
|`VM::VIRTUAL_REGISTRY`| Check for particular object directory which is present in Sandboxie virtual environment but not in usual host systems | Windows | 65% |||| Admin only needed for Linux |
530
-
|`VM::FIRMWARE`| Check for VM signatures and patched strings by hardeners in firmware, while ensuring the BIOS serial is valid | Windows and Linux |75% |||||
530
+
|`VM::FIRMWARE`| Check for VM signatures and patched strings by hardeners in firmware, while ensuring the BIOS serial is valid | Windows and Linux |100% |||||
531
531
|`VM::FILE_ACCESS_HISTORY`| Check if the number of accessed files are too low for a human-managed environment | Linux | 15% |||||
532
-
|`VM::AUDIO`| Check if audio device is present | Windows | 25% |||||
532
+
|`VM::AUDIO`| Check if any waveform-audio output devices are present in the system| Windows | 25% |||||
533
533
|`VM::UNKNOWN_MANUFACTURER`| Check if the CPU manufacturer is not known || 50% |||||
534
534
|`VM::OSXSAVE`| Check if running xgetbv in the XCR0 extended feature register triggers an exception | Windows | 50% |||||
535
535
|`VM::NSJAIL_PID`| Check if process status matches with nsjail patterns with PID anomalies | Linux | 75% |||||
if (adapterDesc.DedicatedVideoMemory < static_cast<unsignedlonglong>(1024 * 1024) * 1024) {
7656
-
debug("GPU_CAPABILITIES: Video memory");
7677
+
if (adapterDesc.DedicatedVideoMemory < (1024ULL * 1024ULL * 1024ULL)) {
7678
+
debug("GPU_CAPABILITIES: Video memory below threshold");
7657
7679
pAdapter->Release();
7658
7680
pFactory->Release();
7659
7681
returntrue;
7660
7682
}
7661
7683
}
7662
7684
pAdapter->Release();
7663
7685
}
7664
-
7665
7686
pFactory->Release();
7687
+
7666
7688
returnfalse;
7667
7689
#endif
7668
7690
}
@@ -7730,7 +7752,7 @@ struct VM {
7730
7752
* However, when Windows is running under Hyper-V (in a root partition), the IDT and GDT base address will always be the same across all CPU cores if called from user-mode.
7731
7753
* This kernel address leak prevention measure is done by Hyper-V on purpose and can be abused to detect VMs.
7732
7754
* @category Windows, x64
7733
-
* @author Requiem
7755
+
* @author Requiem (https://github.com/NotRequiem)
7734
7756
* @implements VM::IDT_GDT_SCAN
7735
7757
*/
7736
7758
[[nodiscard]] staticboolidt_gdt_scan() {
@@ -8000,6 +8022,7 @@ struct VM {
8000
8022
/**
8001
8023
* @brief Check for timing anomalies in the system
8002
8024
* @category x86
8025
+
* @author Requiem (https://github.com/NotRequiem)
8003
8026
* @implements VM::TIMER
8004
8027
*/
8005
8028
[[nodiscard]]
@@ -9903,7 +9926,7 @@ struct VM {
9903
9926
}
9904
9927
9905
9928
9906
-
/* @brief Check if audio device is present
9929
+
/* @brief Check if any waveform-audio output devices are present in the system
if (adapterDesc.DedicatedVideoMemory < static_cast<unsignedlonglong>(1024 * 1024) * 1024) {
7461
-
debug("GPU_CAPABILITIES: Video memory");
7482
+
if (adapterDesc.DedicatedVideoMemory < (1024ULL * 1024ULL * 1024ULL)) {
7483
+
debug("GPU_CAPABILITIES: Video memory below threshold");
7462
7484
pAdapter->Release();
7463
7485
pFactory->Release();
7464
7486
returntrue;
7465
7487
}
7466
7488
}
7467
7489
pAdapter->Release();
7468
7490
}
7469
-
7470
7491
pFactory->Release();
7492
+
7471
7493
returnfalse;
7472
7494
#endif
7473
7495
}
@@ -7535,7 +7557,7 @@ struct VM {
7535
7557
* However, when Windows is running under Hyper-V (in a root partition), the IDT and GDT base address will always be the same across all CPU cores if called from user-mode.
7536
7558
* This kernel address leak prevention measure is done by Hyper-V on purpose and can be abused to detect VMs.
7537
7559
* @category Windows, x64
7538
-
* @author Requiem
7560
+
* @author Requiem (https://github.com/NotRequiem)
7539
7561
* @implements VM::IDT_GDT_SCAN
7540
7562
*/
7541
7563
[[nodiscard]] staticboolidt_gdt_scan() {
@@ -7805,6 +7827,7 @@ struct VM {
7805
7827
/**
7806
7828
* @brief Check for timing anomalies in the system
7807
7829
* @category x86
7830
+
* @author Requiem (https://github.com/NotRequiem)
7808
7831
* @implements VM::TIMER
7809
7832
*/
7810
7833
[[nodiscard]]
@@ -9708,7 +9731,7 @@ struct VM {
9708
9731
}
9709
9732
9710
9733
9711
-
/* @brief Check if audio device is present
9734
+
/* @brief Check if any waveform-audio output devices are present in the system
0 commit comments