Sandbox Evasion
Sleep
private void Sleep(int seconds)
{
Thread.Sleep(seconds * 1000);
}
Mouse is moving
using System.Runtime.InteropServices;
[DllImport("user32.dll")]
static extern bool GetCursorPos(out Point lpPoint);
public Point GetMousePosition()
{
GetCursorPos(out Point lpPoint);
return lpPoint;
}
[StructLayout(LayoutKind.Sequential)]
public struct Point
{
public int X;
public int Y;
}
public void CheckMouseIsMoving()
{
Point mousePosition = this.GetMousePosition();
this.Sleep(30);
Point newMousePosition = this.GetMousePosition();
if (mousePosition.X == newMousePosition.X &&
mousePosition.Y == newMousePosition.Y) Environment.Exit(1337);
}
Numbers of CPUs
public void CheckCPUCount()
{
if (Environment.ProcessorCount <= 2) Environment.Exit(1337);
}
Presence of Debugger
using System.Diagnostics;
public void CheckDebugger()
{
if (Debugger.IsAttached) Environment.Exit(1337);
}
Uptime
public void CheckUptime()
{
int uptime = (Environment.TickCount & Int32.MaxValue) / 1000;
if (uptime / 60 < 15) Environment.Exit(1337);
}