23.08.2011, 16:19
Okay, durchaus möglich das dass geht. Ich code unter Delphi und da kann ich dir zwar soweit folgen aber mich wunderts dennoch das dass funktioniert.
Hier mein Beispiel aus Delphi...
[code=Delphi]
ProcSnap:= CreateToolHelp32Snapshot(TH32CS_SnapProcess, 0);
ProcessEntry.dwSize:= SizeOf(ProcessEntry);
FindProcess:= Process32First(ProcSnap, ProcessEntry);
ProcID:= -1;
while FindProcess do begin
if (CompareText(ProcessEntry.szExeFile, ProcessName) =0) then
ProcID := ProcessEntry.th32ProcessID; //Hier krieg ich die ProzessID des vorher definierten Prozesses (EXE)
FindProcess := Process32Next(ProcSnap, ProcessEntry); //Wenn nicht...? Dann wird mit dem nächsten Prozess weiter gemacht.
end;
CloseHandle(ProcSnap);
if ProcID >= 0 then begin //Wurde die ProzessID zum definierten Prozess gefunden dann wird mit
ProcOpen := OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcID); //dem nächsten Schritt weitergemacht...[/code]
Um an die Basis Adresse einer DLL Datei zu kommen gehe ich über CreateToolHelp... um an die ProzessID des Main Prozesses zu kommen. Wenn ich die habe gehe ich ebenfalls über CreateToolHelp... Um mittels der ProzessID die jeweils geladenen Module durchzugehen.
Hier dazu das Delphi Beispiel...
[code=Delphi]
SnapMod:= CreateToolhelp32Snapshot(TH32CS_Snapmodule, ProcID);
ModuleEntry.dwSize := Sizeof(ModuleEntry);
FindDLLBase:= Module32First (SnapMod, ModuleEntry);
while FindDLLBase do begin
if (CompareText(Moduleentry.szModule, DLLName) =0) then
DLLBaseAddy:= ModuleEntry.modBaseAddr; //Wurde die vorher definierte DLL bzw. das Modul des entsprechenden Prozesses
FindDLLBase:= Module32Next(SnapMod, ModuleEntry); //passend zur ProzessID gefunden, wird die Basis Adresse in die Variable
end; //"DLLBaseAddy" kopiert bzw. gesichert.
CloseHandle(SnapMod);[/code]
Also ich wüsste nicht wie ich über CreateToolHelp... an die Basis Adresse der EXE rankommen sollte
Ich komme da zu keinem Ergebnis. Hab das wie gesagt nun anders gelöst.
grEEtZ sILeNt heLLsCrEAm
Hier mein Beispiel aus Delphi...
[code=Delphi]
ProcSnap:= CreateToolHelp32Snapshot(TH32CS_SnapProcess, 0);
ProcessEntry.dwSize:= SizeOf(ProcessEntry);
FindProcess:= Process32First(ProcSnap, ProcessEntry);
ProcID:= -1;
while FindProcess do begin
if (CompareText(ProcessEntry.szExeFile, ProcessName) =0) then
ProcID := ProcessEntry.th32ProcessID; //Hier krieg ich die ProzessID des vorher definierten Prozesses (EXE)
FindProcess := Process32Next(ProcSnap, ProcessEntry); //Wenn nicht...? Dann wird mit dem nächsten Prozess weiter gemacht.
end;
CloseHandle(ProcSnap);
if ProcID >= 0 then begin //Wurde die ProzessID zum definierten Prozess gefunden dann wird mit
ProcOpen := OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcID); //dem nächsten Schritt weitergemacht...[/code]
Um an die Basis Adresse einer DLL Datei zu kommen gehe ich über CreateToolHelp... um an die ProzessID des Main Prozesses zu kommen. Wenn ich die habe gehe ich ebenfalls über CreateToolHelp... Um mittels der ProzessID die jeweils geladenen Module durchzugehen.
Hier dazu das Delphi Beispiel...
[code=Delphi]
SnapMod:= CreateToolhelp32Snapshot(TH32CS_Snapmodule, ProcID);
ModuleEntry.dwSize := Sizeof(ModuleEntry);
FindDLLBase:= Module32First (SnapMod, ModuleEntry);
while FindDLLBase do begin
if (CompareText(Moduleentry.szModule, DLLName) =0) then
DLLBaseAddy:= ModuleEntry.modBaseAddr; //Wurde die vorher definierte DLL bzw. das Modul des entsprechenden Prozesses
FindDLLBase:= Module32Next(SnapMod, ModuleEntry); //passend zur ProzessID gefunden, wird die Basis Adresse in die Variable
end; //"DLLBaseAddy" kopiert bzw. gesichert.
CloseHandle(SnapMod);[/code]
Also ich wüsste nicht wie ich über CreateToolHelp... an die Basis Adresse der EXE rankommen sollte

Ich komme da zu keinem Ergebnis. Hab das wie gesagt nun anders gelöst.
grEEtZ sILeNt heLLsCrEAm
Irren ist menschlich. Aber wer richtigen Mist bauen will, braucht einen Computer !!!
Traineranfragen per PM werden prinzipiell gelöscht...
![[Bild: signatur6akm7.gif]](https://abload.de/img/signatur6akm7.gif)
Traineranfragen per PM werden prinzipiell gelöscht...
![[Bild: signatur6akm7.gif]](https://abload.de/img/signatur6akm7.gif)