Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions docs/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -444,7 +444,7 @@ VMAware provides a convenient way to not only check for VMs, but also have the f
| `VM::TIMER` | Check for timing anomalies in the system | 🐧🪟🍏 | 45% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L8169 ) |
| `VM::THREADCOUNT` | Check if there are only 1 or 2 threads, which is a common pattern in VMs with default settings (nowadays physical CPUs should have at least 4 threads for modern CPUs) | 🐧🪟🍏 | 35% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L2649) |
| `VM::MAC` | Check if mac address starts with certain VM designated values | 🐧🪟 | 20% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L2671) |
| `VM::TEMPERATURE` | Check if thermal directory in linux is present, might not be present in VMs | 🐧 | 15% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L2804) |
| `VM::TEMPERATURE` | Check for device's temperature | 🐧🪟 | 15% | | | | Disabled by default | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L2804) |
| `VM::SYSTEMD` | Check result from systemd-detect-virt tool | 🐧 | 35% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L2818) |
| `VM::CVENDOR` | Check if the chassis vendor is a VM vendor | 🐧 | 65% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L2671) |
| `VM::CTYPE` | Check if the chassis type is valid (it's very often invalid in VMs) | 🐧 | 20% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L2875) |
Expand Down Expand Up @@ -510,7 +510,6 @@ VMAware provides a convenient way to not only check for VMs, but also have the f
| `VM::VM_PROCS` | Check for a Xen VM process | 🐧 | 10% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L7161) |
| `VM::VBOX_MODULE` | Check for a VBox kernel module | 🐧 | 15% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L7184) |
| `VM::SYSINFO_PROC` | Check for potential VM info in /proc/sysinfo | 🐧 | 15% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L7211) |
| `VM::DEVICE_TREE` | Check for specific files in /proc/device-tree directory | 🐧 | 20% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L7238) |
| `VM::DMI_SCAN` | Check for string matches of VM brands in the linux DMI | 🐧 | 50% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L7256) |
| `VM::SMBIOS_VM_BIT` | Check for the VM bit in the SMBIOS data | 🐧 | 50% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L7340) |
| `VM::PODMAN_FILE` | Check for podman file in /run/ | 🐧 | 5% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L7374) |
Expand All @@ -526,8 +525,7 @@ VMAware provides a convenient way to not only check for VMs, but also have the f
| `VM::VM_DEVICES` | Check for VM-specific devices | 🪟 | 50% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L7848) |
| `VM::PROCESSOR_NUMBER` | Check for number of processors | 🪟 | 50% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L7999) |
| `VM::NUMBER_OF_CORES` | Check for number of cores | 🪟 | 50% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L8024) |
| `VM::ACPI_TEMPERATURE` | Check for device's temperature | 🪟 | 25% | | | | Disabled by default | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L8057) |
| `VM::SYS_QEMU` | Check for existence of "qemu_fw_cfg" directories within /sys/module and /sys/firmware | 🐧 | 70% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L8330) |
| `VM::QEMU_FW_CFG` | Check for QEMU fw_cfg interface | 🐧 | 70% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L8330) |
| `VM::LSHW_QEMU` | Check for QEMU string instances with lshw command | 🐧 | 80% | | | | Disabled by default | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L8364) |
| `VM::VIRTUAL_PROCESSORS` | Check if the number of virtual and logical processors are reported correctly by the system | 🪟 | 50% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L8411) |
| `VM::HYPERV_QUERY` | Check if a call to NtQuerySystemInformation with the 0x9f leaf fills a _SYSTEM_HYPERVISOR_DETAIL_INFORMATION structure | 🪟 | 100% | | | | | [link](https://github.com/kernelwernel/VMAware/blob/8cb2491b1c7d2cb7300d1d698b7c64c953b4ae75/src/vmaware.hpp#L8451) |
Expand Down
10 changes: 3 additions & 7 deletions src/cli.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -330,8 +330,7 @@ bool is_disabled(const VM::enum_flags flag) {
switch (flag) {
case VM::VMWARE_DMESG:
case VM::PORT_CONNECTORS:
case VM::ACPI_TEMPERATURE:
case VM::LSHW_QEMU: return true;
case VM::LSHW_QEMU:
default: return false;
}
}
Expand Down Expand Up @@ -382,7 +381,6 @@ bool is_unsupported(VM::enum_flags flag) {
case VM::VM_PROCS:
case VM::VBOX_MODULE:
case VM::SYSINFO_PROC:
case VM::DEVICE_TREE:
case VM::DMI_SCAN:
case VM::SMBIOS_VM_BIT:
case VM::PODMAN_FILE:
Expand Down Expand Up @@ -411,6 +409,7 @@ bool is_unsupported(VM::enum_flags flag) {
case VM::TIMER:
case VM::THREADCOUNT:
case VM::MAC:
case VM::TEMPERATURE:
case VM::DLL:
case VM::REGISTRY:
case VM::VM_FILES:
Expand Down Expand Up @@ -456,7 +455,6 @@ bool is_unsupported(VM::enum_flags flag) {
case VM::GPU_CAPABILITIES:
case VM::PROCESSOR_NUMBER:
case VM::NUMBER_OF_CORES:
case VM::ACPI_TEMPERATURE:
case VM::POWER_CAPABILITIES:
case VM::SETUPAPI_DISK:
case VM::VIRTUAL_PROCESSORS:
Expand Down Expand Up @@ -942,7 +940,6 @@ void general() {
checker(VM::VM_PROCS, "various VM files in /proc");
checker(VM::VBOX_MODULE, "VBox kernel module");
checker(VM::SYSINFO_PROC, "/proc/sysinfo");
checker(VM::DEVICE_TREE, "/proc/device-tree");
checker(VM::DMI_SCAN, "DMI scan");
checker(VM::SMBIOS_VM_BIT, "SMBIOS VM bit");
checker(VM::PODMAN_FILE, "podman file");
Expand All @@ -957,8 +954,7 @@ void general() {
checker(VM::GPU_VM_STRINGS, "GPU strings");
checker(VM::PROCESSOR_NUMBER, "processor count");
checker(VM::NUMBER_OF_CORES, "CPU core count");
checker(VM::ACPI_TEMPERATURE, "thermal devices");
checker(VM::POWER_CAPABILITIES, "power capabilities");
checker(VM::POWER_CAPABILITIES, "Power capabilities");
checker(VM::SETUPAPI_DISK, "SETUPDI diskdrive");
checker(VM::QEMU_FW_CFG, "QEMU fw_cfg device");
checker(VM::LSHW_QEMU, "QEMU in lshw output");
Expand Down
Loading
Loading