AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi DLL Funktion Hook - Allgemeingültige Lösung / Codevorlage?
Thema durchsuchen
Ansicht
Themen-Optionen

DLL Funktion Hook - Allgemeingültige Lösung / Codevorlage?

Offene Frage von "blackdrake"
Ein Thema von blackdrake · begonnen am 19. Jul 2009 · letzter Beitrag vom 23. Jul 2009
 
blackdrake

Registriert seit: 21. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#1

DLL Funktion Hook - Allgemeingültige Lösung / Codevorlage?

  Alt 19. Jul 2009, 17:36
Hallo zusammen.

Ich habe mal endlich wieder mehr Zeit und mache mich mal wieder über ein paar alte Projekte her.

Ich hatte mehrmals schon ansatzweise versucht, eine DLL Funktion zur Laufzeit zu überschreiben (gab hier sogar ein paar Themen dazu).

* Zum einen hörte ich etwas von statischen und dynamischen DLLs (ich weiß, was das bedeutet) und dass man je nach dem unterschiedlich vorgehen muss.

* Zum anderen fiel das Wort "Inline Hook" wenn ich eine Funktion einer DLL systemweit überschreiben möchte.

Letzteres ergab bei mir eine schlechte Google Recherche, bei der ich nicht schlauer geworden bin: http://www.google.de/search?hl=de&sa...nG=Suche&meta=

Es gibt also 4 Möglichkeiten:

1. Funktion einer statisch geladenen DLL für einen Prozess umbiegen
2. Funktion einer dynamisch geladenen DLL für einen Prozess umbiegen
3. Funktion einer statisch geladenen DLL systemweit umbiegen
4. Funktion einer dynamisch geladenen DLL systemweit umbiegen

Wobei 3 und 4 eigentlich ein Punkt sind, denn wenn ich etwas systemweit umbiegen will, dann darf es im Endresultat keinen Unterschied machen, ob die DLL dynamisch oder statisch geladen ist.

Nun meine Frage, damit ich endlich mal verstehe, wie so etwas funktioniert - kann mir jemand Codes zeigen, bei denen ganz einfach das Hooken einer Funktion mit diesen 4 Möglichkeiten gezeigt wird, sodass ich das korrekt nachvollziehen kann?

Im Moment hätte ich nämlich folgenden Bedarf an Hooks:
- Ich möchte versuchen, eine Funktion der system32.dll systemweit umzubiegen (Thread: Windows dazu bringen, dass Dateien sicher gelöscht werden)
- Ich möchte versuchen, eine Funktion der winmm.dll für einen bestimmten Prozess umzubiegen, sodass ich alle ausgehenden MIDI-Kommandos mitschneiden kann. (Dynamisch/Statische DLL im Moment unbekannt)

Ich hoffe, irgendwo da draußen gibt es so eine Art "Kochbuch", in dem eine Hook Lösung für Delphi so einfach dargestellt wird, dass man sie einfach auf die eigenen Wünsche adaptieren kann.

Gruß
blackdrake
Daniel Marschall
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:26 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