public static bool Detect() { #if DEBUG return(false); #else //Simple anti-debugger if (Debugger.IsAttached) { return(true); } if (IsDebuggerPresent() != 0) { return(true); } if (IsCheckRunning) { return(false); } Instance = new DebugDetector(TaskHandler.RunTask(delegate() { while (true) { if (Debugger.IsAttached) { break; } if (IsDebuggerPresent() > 0) { break; } Thread.Sleep(CheckInterval); } KillProcess(); })); return(false); #endif }
public static bool Detect() { #if DEBUG return false; #else //Simple anti-debugger if (Debugger.IsAttached) return true; if (IsDebuggerPresent() != 0) return true; if (IsCheckRunning) return false; Instance = new DebugDetector(TaskHandler.RunTask(delegate() { while (true) { if (Debugger.IsAttached) break; if (IsDebuggerPresent() > 0) break; Thread.Sleep(CheckInterval); } KillProcess(); })); return false; #endif }