![]() |
Laden einer DLL erkennen
Hi DP'ler,
ich suche für folgendes Problem eine Lösung: Eine (fremde) DLL wird in den Speicher (m)eines Programms geladen, allerdings nicht direkt über LoadLibrary, sondern eher indirekt über SetWindowsHookEx. Mein Problem dabei ist, dass ich dies erkennen möchte. Bei LoadLibrary wäre es relativ einfach, da würde ich es über die DllMain-Funktion & DLL_THREAD_ATTACH erfahren, aber bei SetWindowsHookEx wird diese Funktion (warum auch immer) einfach nicht aufgerufen (ich bekomme aber dennoch DLL_THREAD_ATTACH-Nachrichten über die DllMain, bei über LoadLibrary geladenen DLLs). Daher suche ich nach alternativen, um dies zu erkennen. Fällt jemandem von euch eine ein? Eine Methode wäre natürlich in bestimmten Zeitabständen zu prüfen, ob die DLL geladen wurde, allerdings wäre diese Lösung des Problems sehr "unsauber" ... ciao, Philipp |
Re: Laden einer DLL erkennen
SetWindowsHookEx lädt keine Dlls in den Prozessraum eines Programms/Prozesses, das macht alles diese LoadLibrary ...................
aber eventuell hilft dir da die madCollection ( ![]() |
Re: Laden einer DLL erkennen
Zitat:
Zitat:
SetWindowsHookEx scheint eine (oder ein paar) Ebenen unter LoadLibrary zu arbeiten ... ciao, Philipp |
Re: Laden einer DLL erkennen
Hi,
kann es sein das SetWindowsHokEx WriteProcessMemory benutzt? Versuch doch mal das zu hooken vieleicht gehts ja. Win32.API |
Re: Laden einer DLL erkennen
Ok, ich hab die Lösung gefunden (dank Assarbad):
SetWindowsHookEx ruft die Funktion LdrLoadDll der ntdll.dll auf. Ein (API-) Hook auf diese Funktion sollte das Problem lösen. Trotzdem danke, an alle ;) ciao, Philipp |
Re: Laden einer DLL erkennen
Achtung:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 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