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: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -239,7 +239,7 @@ You can view the full docs [here](docs/documentation.md). All the details such a
239
239
240
240
> I would've made it strictly MIT so proprietary software can make use of the library, but some of the techniques employed are from GPL projects, and I have no choice but to use the same license for legal reasons.
241
241
>
242
-
> This gave me an idea to make an MIT version without all of the GPL code so it can also be used without forcing your code to be open source. It should be noted that the MIT version removes <b>7</b> techniques out of 118 (as of 2.0 version), and the lesser the number of techniques, the less accurate the overall result might be.
242
+
> This gave me an idea to make an MIT version without all of the GPL code so it can also be used without forcing your code to be open source. It should be noted that the MIT version removes <b>7</b> techniques out of 117 (as of 2.0 version), and the lesser the number of techniques, the less accurate the overall result might be.
Copy file name to clipboardExpand all lines: docs/documentation.md
-1Lines changed: 0 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -512,7 +512,6 @@ VMAware provides a convenient way to not only check for VMs, but also have the f
512
512
|`VM::GPU_CAPABILITIES`| Check for GPU capabilities related to VMs | Windows | 100% | Admin ||| Admin only needed for some heuristics |
513
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
-
|`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
515
|`VM::PROCESSOR_NUMBER`| Check for number of processors | Windows | 50% |||||
517
516
|`VM::NUMBER_OF_CORES`| Check for number of cores | Windows | 50% |||||
518
517
|`VM::ACPI_TEMPERATURE`| Check for device's temperature | Windows | 25% |||||
debug("VM_DEVICES: Detected VBox related device handles");
7727
7726
returncore::add(brands::VBOX);
7728
7727
}
@@ -7746,98 +7745,6 @@ struct VM {
7746
7745
}
7747
7746
7748
7747
7749
-
/**
7750
-
* @brief Check if the IDT and GDT virtual base addresses are equal across different CPU cores when not running under Hyper-V
7751
-
* @note The Windows kernel has different interrupt handlers registered for each CPU core, resulting in different virtual addresses when calling SIDT and SGDT in kernel-mode.
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.
7753
-
* This kernel address leak prevention measure is done by Hyper-V on purpose and can be abused to detect VMs.
7754
-
* @category Windows, x64
7755
-
* @author Requiem (https://github.com/NotRequiem)
7756
-
* @implements VM::IDT_GDT_SCAN
7757
-
*/
7758
-
[[nodiscard]] staticboolidt_gdt_scan() {
7759
-
#if (!WINDOWS)
7760
-
returnfalse;
7761
-
#else
7762
-
// If the system is running under any Hyper-V hypervisor (type 1 or type 2), the IDT and GDT will be equal, as this function is called from user-mode.
0 commit comments