Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Datei hooken (https://www.delphipraxis.net/154165-datei-hooken.html)

Hybrid666 30. Aug 2010 21:11

Datei hooken
 
Hi,

ich schreibe grade ein Programm, dass unter anderem dann reagieren soll, wenn ein Programm auf eine bestimmte Datei zugreifft.
Wie kann ich das realisieren, dass in meinem Programm ein Event ausgelöst wird, sobald die Datei geöffnet wird von dem anderen Programm?

Wär super wenn jemand denkanstöße, tutoriale oder codeschnipsel hat (ich bin auch schon dankbar für einen anstoß über das MSDN, hauptsache ich weiß, wo ich zu suchen anfangen muss *gg*).

MfG Hybrid666

Luckie 30. Aug 2010 21:22

AW: Datei hooken
 
Dafür gibt es MSDN-Library durchsuchenFindFirstChangeNotification.

Hybrid666 30. Aug 2010 21:27

AW: Datei hooken
 
Super danke dir! Reagiert das nur, wenn die datei geändert wird, oder auch, wenn die Datei nur geöffnet wird?

Werde mir das nun zu gemüte führen! Danke dir nochmals!

Luckie 30. Aug 2010 21:48

AW: Datei hooken
 
Fürs Datei öffnen brauchst du wohl ein Dateisystemfiltertreiber, wenn es zuverlässig funktionieren soll. Es gibt zwar Lösungen aus dem User Mode, aber die sind nicht sehr zuverlässig.

Aphton 30. Aug 2010 22:09

AW: Datei hooken
 
Eine Vorangehensweise im User-mode wäre z.B. du schreibst dir eine globale Hook-DLL, die einen oder mehrere IAT-Hooks macht.
Es werden dann alle Funktionen gehooket, die verwendet werden, um Modifikationen an Dateien vorzunehmen (~ CreateFile, WriteFile, ReadFile, CloseHandle).
Das angenehme an globalen Hook-Dlls ist, dass sie, sobald der globale Hook gesetzt ist, virtuell in jeden Prozess geladen werden und somit der IAT-Hook in allen Prozessen stattfindet.

MfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz