Hi,
Wie der Titel schon sagt, versuche ich Threads in einem fremden Prozess zu killen.
Alle Threads, die beendet werden sollen, sind im gleichen Modul (also einer geladen DLL).
Ein Bekannter hat mir vorgeschlagen, dass ich einfach diese DLL entladen soll, da deren Threads dann
abstürzten sollten. Da ich aber keine Funktion gefunden habe, um Module in einem fremden Prozess zu entladen,
werde ich nun versuchen die Threads einfach manuell zu beenden.
Eine DLL-Injection um FreeLibrary() aufzurufen, wäre mir dafür zu komplex.
Nun wollte ich folgendermaßen vorgehen:
Mittels Toolhelp die PID ermitteln, alle Threads auflisten und die betroffenen Threads
dann mittels OpenThread() und TerminateThread() beenden.
Meine frage ist nun: Wie kann ich ermitteln, von welchem Modul ein Thread ausgeht?
In den Structs, die ich von Toolhelp bekomme befindet sich lediglich die ThreadID.
Danke schonmal im Vorraus!
Wie der Titel schon sagt, versuche ich Threads in einem fremden Prozess zu killen.
Alle Threads, die beendet werden sollen, sind im gleichen Modul (also einer geladen DLL).
Ein Bekannter hat mir vorgeschlagen, dass ich einfach diese DLL entladen soll, da deren Threads dann
abstürzten sollten. Da ich aber keine Funktion gefunden habe, um Module in einem fremden Prozess zu entladen,
werde ich nun versuchen die Threads einfach manuell zu beenden.
Eine DLL-Injection um FreeLibrary() aufzurufen, wäre mir dafür zu komplex.
Nun wollte ich folgendermaßen vorgehen:
Mittels Toolhelp die PID ermitteln, alle Threads auflisten und die betroffenen Threads
dann mittels OpenThread() und TerminateThread() beenden.
Meine frage ist nun: Wie kann ich ermitteln, von welchem Modul ein Thread ausgeht?
In den Structs, die ich von Toolhelp bekomme befindet sich lediglich die ThreadID.
Danke schonmal im Vorraus!