API Hooking per DLL Injection, kleine Fragen
-
Hallo!
Folgendes ist ja kein Problem:
Dll coden, welches z.b. Prototypen für jegliche Apifunktionen enthält. Diese dann einem laufenden Prozess unterzujubeln ist ebenfalls ein Kinderspiel. Ich habe nur eine Frage. Es wird doch normalerweise so gemacht, dass GetProcAddress gehookt wird und dort dann z.b. MessageBox oder so abgefangen wird oder? Wie hookt man denn GetProcAddress? Wie ist es möglich den Prozess zu zwingen die eigene GetProcAddress zu verwenden? Reicht es, diese einfach in die DLL zu schreiben? Ich nehme mal an dass nicht.Danke
Kevin
-
In "Windows Programmierung für Experten" von Jeffrey Richters wird ein solches Programm entwickelt und anschließend der betreffende Code für das Hooking in eine Klasse gekapselt

-
das ist schön, nur habe ich nicht vor, mir in nächster Zeit dieses Buch zuzulegen :). Evtl mal wenn ich nicht aufn Führerschein sparen muss

Könnt ihr mir nicht per Forum helfen?Kevin
-
Der Code um wirklich praktisch alle Möglichkeiten deinen Hook zu umgehen abzufangen ist wirklich recht umfangreicht. Aber ich habe dir mal die Beispielanwendung, die im Buch entwickelt wird, um MessageBox-Aufrufe zu hooken, onlinegestellt: http://data.tssd.de/LastMsgBoxInfo.zip
Ist zwar evtl. ohne erklärung etwas schwierig zu verstehen, aber du kannst dir ja mal anschauen wie es gemacht wird und die einzelnen Funktionen dann in der MSDN-Library nachschlagen - oder einfach direkt seine fertige Library nutzen

-
-
ich hab mir da auch einen geschrieben ... der sieht eigtl wenn ichs so vergleiche ziemlich gleich aus. (nur hab das win98 zeug nich drin und natürlich anders designed) aber geht irgendwie net.
wenns jemand interressiert der damit vllt was anfangen kann und mir helfen, dann poste ichs oder lads irgendwo hoch (sind mehrere files)
-
Hi!
Danke erstmal für die Antworten. Die HookingDll zu coden ist relativ leicht. Das geht bei mir jetzt auch. Nur das Injecten will nich so ganz. Ich hatte mal vorn paar Monaten den Source von nem Programm DllInject oder so, nur leider finde ich es nicht mehr. Hat sonst noch wer Tuts o.ä. zum DllInjecten?Kevin
-
das dürfte Dein gesuchter Source-Code sein:
http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=7528&lngWId=3
MfG
-
danke dir!