Entwickler-Ecke
Windows API - VirtualAllocEx abfangen
lukkee - Mi 27.08.08 20:59
Titel: VirtualAllocEx abfangen
Hallo
ich versuche verzweifelt die funktion VirtualAllocEx abzufangen
hook.dll
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| var VAExNext : function (hProcess : Cardinal; lpAddress : Pointer; dwSize : Cardinal; flAllocationType : Cardinal; flProtect : Cardinal) : Pointer ; stdcall;
function VAExHookProc(hProcess : Cardinal; lpAddress : Pointer; dwSize : Cardinal; flAllocationType : Cardinal; flProtect : Cardinal) : Pointer ; stdcall; begin result := nil; end;
begin HookApi('kernel32.dll','VirtualAllocEx',@VAExHookProc,@VAExNext); end; |
client
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TForm1.FormCreate(Sender: TObject); begin InjectLibrary(ALL_SESSIONS or SYSTEM_PROCESSES,'hook.dll'); end;
procedure TForm1.FormDestroy(Sender: TObject); begin UnInjectLibrary(ALL_SESSIONS or SYSTEM_PROCESSES,'hook.dll'); end; |
das Problem is da ich selbst zum injecten die VirtualAllocEx aufrufe verfängts sich das tool selbst in eine endlosschleife.. :(
wie kann ich das verhindern ?
lg
uall@ogc - Mi 27.08.08 23:19
Vorweg: Wenn es irgend eine sicherheitsrelevante Dll sein soll (AntiVirus, AntiMaleware, AntiCheat) vergiss es.
Anonsten musst du mit der ProzessID arbeiten, bzw solange der hook noch nicht ausgeführt ist (Also HookApi) die original Funktion weiter ausführen und danach eine globale Variable setzen die abgefragt wird und erst ab da NIL zurückliefern.
Zufällig kann ich etwas mit dem Code anfangen aber 99.999999% aller anderen User hier nicht. Du solltest schon sagen wo die HookApi Funktion etc. herkommen.
Und da wäre eindeutig das madshi Forum (die benutzt du ja anscheinend) besser.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!