Мне нужно, чтобы обнаружить это отладчик (например, OllyDbg), прикрепленную
Чтобы проверить, если процесс имеет отладчик, присоединенный к йо можно использовать:
Как проверить, если отладчик присоединен
CheckRemoteDebuggerPresent работает для любого запущенного процесса и определяет собственные отладчики тоже.
Debugger.IsAttached работает только для текущего процесса и обнаруживает только управляемые отладчики. В качестве примера, OllyDbg не будет обнаружен этим.
Code:
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
public class DetectDebugger
{
[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
static extern bool CheckRemoteDebuggerPresent(IntPtr hProcess, ref bool isDebuggerPresent);
public static void Main()
{
bool isDebuggerPresent = false;
CheckRemoteDebuggerPresent(Process.GetCurrentProcess().Handle, ref isDebuggerPresent);
Console.WriteLine("Debugger Attached: " + isDebuggerPresent);
Console.ReadLine();
}
}
Где вы написали этот код? Где вы определили Dte? –
Вы не определили Dte. Вы должны определить «DTE Dte;», затем присвоить ему значение, а затем использовать. –
Я копирую полный код здесь – SLI