![]() |
BaseAddress aller Threads einer Anwendung bestimmen
Hallo,
ich möchte gerne alle Threads eines gegebenen Prozesses auswerten. Gibt es eine API-Funktion, mit der ich mir die Basisadresse eines Threads anzeigen lassen kann um z.B. zu überprüfen, wo der Code des Threads im Speicher liegt? Ich habe bereits versucht, dies mittels debugging zu lösen. Doch die dort erhaltenen TDebugEvent.CreateThread.lpStartAddress zeigt immer auf eine IMAGE_SCN_MEM_EXECUTE Section der kernel32.dll? Das finde ich sehr komisch, da Threads doch eigentlich im Prozess- speicher der Anwendung laufen sollten. Müsste ich demenstsprechend nicht in einer als IMAGE_SCN_MEM_EXECUTE markierten Section meines Prozesses landen? Für Hilfe bin ich sehr dankbar. Viele Grüße peanut. |
Re: BaseAddress aller Threads einer Anwendung bestimmen
Zitat:
ps: siehe ![]() |
Re: BaseAddress aller Threads einer Anwendung bestimmen
Zitat:
Dummerweise funktioniert CreateRemoteThread auch in Gast-Zugängen auf allen Prozessen, die mit diesen Rechten laufen. :shock: Kann man das irgendwie unterbinden - das scheint mir beinahe leichter zu sein als mit den Threads zu pfuschen... |
Re: BaseAddress aller Threads einer Anwendung bestimmen
Zitat:
Zitat:
Zitat:
|
Re: BaseAddress aller Threads einer Anwendung bestimmen
Zitat:
Zitat:
Zitat:
|
Re: BaseAddress aller Threads einer Anwendung bestimmen
Zitat:
![]() Zitat:
(kleiner Tipp: in ![]() Zitat:
![]() |
Re: BaseAddress aller Threads einer Anwendung bestimmen
Vielen Dank NicoDE für die Hinweise :-D :-D - ich muss noch einiges lernen...
|
Re: BaseAddress aller Threads einer Anwendung bestimmen
Zitat:
Die einzige Information die man eventluell auswerten könnte wäre die ThreadID. Ich frage mich bloß, wie man von dieser ausgehend an den Speicherbereich kommt, in dem der ausführbare Code des Threads steht? |
Re: BaseAddress aller Threads einer Anwendung bestimmen
Hab`s hinbekommen.... GetThreadContext(). In EAX steht die Startadresse des Threads drin. Klappt aber nur, wenn man den Prozess debuggt. Ich muss noch testen, ob das auch über eine DLL mit DLL_THREAD_ATTACH funktioniert, denn das wäre leichter.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz