DLL BaseAdress
-
Hallo,
ich bräuchte Hilfe beim Auslesen der BaseAdress einer DLL eines anderen Prozesses. Ich weis, dass es mit CreateToolhelp32Snapshot geht. Allerdings konnte mir bisher niemand richtig weiterhelfen, wie ich das mit der BaseAdress anstelle.thx4help
greetz KN4CK3R
-
Und was möchtest Du damit?
-
DLL verändern...
brauch nur die BaseAdress, der Rest ist kein Problem.
greetz KN4CK3R
-
Und wieso schast Du dann nicht im PE-Header nach?
Wozu brauchst Du die Base Address eines geladenen Modules. Die kann sich sicherlich von der der PE-Datei unterscheiden!
-
KN4CK3R schrieb:
brauch nur die BaseAdress
Die steht als "modBaseAddr" in der "MODULEENTRY32" - Struktur zur Verfügung.
-
VirtualQueryEx ?
-
danke habs hinbekommen:
void baseadress(DWORD dwPID, char* dllname) { HANDLE hModuleSnap = INVALID_HANDLE_VALUE; MODULEENTRY32 mod; hModuleSnap = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, dwPID ); mod.dwSize = sizeof( MODULEENTRY32 ); if(!Module32First(hModuleSnap, &mod)) { CloseHandle( hModuleSnap ); } do { if(!lstrcmp(mod.szModule, dllname)) { adresse = mod.modBaseAddr; } } while(Module32Next(hModuleSnap, &mod)); CloseHandle(hModuleSnap); }greetz KN4CK3R