Интересно C# Детектим VM в 1 строку

L

LightMan

Original poster
Как мы раньше детектили виртуалки (VirtualBox и VMWare)

C#:
public static bool Check()
        {
            using (ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher("Select * from Win32_ComputerSystem"))
            {
                try
                {
                    using (ManagementObjectCollection managementObjectCollection = managementObjectSearcher.Get())
                        foreach (ManagementBaseObject managementBaseObject in managementObjectCollection)
                            if ((managementBaseObject["Manufacturer"].ToString().ToLower() == "microsoft corporation" && managementBaseObject["Model"].ToString().ToUpperInvariant().Contains("VIRTUAL")) || managementBaseObject["Manufacturer"].ToString().ToLower().Contains("vmware") || managementBaseObject["Model"].ToString() == "VirtualBox")
                                return true;

                }
                catch { return true; }
            }
            foreach (ManagementBaseObject managementBaseObject2 in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_VideoController").Get())
                if (managementBaseObject2.GetPropertyValue("Name").ToString().Contains("VMware") && managementBaseObject2.GetPropertyValue("Name").ToString().Contains("VBox"))
                    return true;
            return false;
        }

Новый метод в 1 строчку который позволяет нам обнаружить:
  • VirtualBox
  • VMWare
  • RDP
  • Windows server
  • AnyRun
  • Hybrid analysis
  • VirusTotal


При запуске на AnyRun:
1619598564200.png

При запуске на HybridAnalysis:

1619598599400.png
 
Название темы
Автор Заголовок Раздел Ответы Дата
A Delphi. Урок 12. Преобразование числа в строку и строки в число С/C++ 0

Название темы