none
DebugBreakProcess() started installierten Debugger nicht,... RRS feed

  • Frage

  • Hallo,

    ich habe eine elevated .NET applikation (mit aktiviertem "SeDebugPrivilege" Privileg), die die funktion DebugBreakProces() aufruft, es aber auf dem Zielprozess zu keiner Exception/INT3 kommt. Nun stelle ich mir die Frage, was ich falsch mache, bzw. wie ich es richtig mache. Ich öffne den Prozess erfolgreich mit OpenProcess(PROCESS_ALL_ACCESS) und übergebe das Handle dann an DebugBreakProcess(), welche auch mit einem Rückgabewert !=0 einen Erfolg meldet, aber da wird kein Debugger gestartet oder eine Ausnahme ausgelöst. Ich arbeite auf einem Vista System und die Funktion ist ab XP verfügbar, sollte also gehen. Entweder habe ich den Sinn dieser Funktion nicht verstanden, bzw. man arbeitet anders damit, oder irgendwas geht hier einfach nicht. Ich kann auch so vorgehen, das ich eine DLL in den Zielprozess lade und diese dann mit einer Funktion versehe, die einen __asm INT3 auslöst, bzw. DebugBreak() aufruft (ist intern das gleiche), das kann man z.B. mit CreateRemoteThread() machen, oder auch den Prozesspeicher des Prozesses direkt manipullieren, Sprungadressen manipulieren, etc....aber da motzt jeder Virenscanner und das zurecht. Wie benutze ich diese Funktion richtig und/oder wie rufe ich den installierten Debugger für einen beliebigen Prozess per Code auf?


    Grüße

    K.


    ------------------------- Beste Grüsse / Best regards / Votre bien devoue Kerem Gümrükcü http://entwicklung.junetz.de ------------------------- "This reply is provided as is, without warranty express or implied."
    Montag, 25. Oktober 2010 05:43