Entwickler-Ecke

Dateizugriff - das öffnen von dateien und anwendungen auzeichnen


optikandy - So 22.06.08 05:07
Titel: das öffnen von dateien und anwendungen auzeichnen
hallo allerseits,

ich bin an einem kleinen projekt dran und möchte, dass er erkennt, wenn ich eine datei oder eine anwendung öffne, dass ich dann name (von datei oder anwendung) speichern kann und den zeitpunkt.

habe aber leider echt keine ahnung, wie man erkennen kann, wenn eine datei (bzw. anwendung) geöffnet wird...

kann mir da vlt jmd weiterhelfen?

danke im vorraus

andy


Boldar - So 22.06.08 22:30

Eventuell kannst du dass mittels der laufenden Prozesse feststellen, danach kann man gut googlen.


optikandy - Mo 23.06.08 00:27

wonach genau sollte ich da googeln?


Dunkel - Mo 23.06.08 06:13

Stichwort: Dateisystemtreiber. Alternativ könnte sowas auch mit Hooks funktionieren. Beides nicht einfach. Such Dir für den Anfang (ich vermute, dass Du blutiger Anfänger bist) lieber was anderes, ansonsten ist der Frust groß.


Boldar - Mo 23.06.08 14:14

Man kann bei google "Delphi laufende Prozesse ermitteln" eintippen (ohne die "). Dadurch kannst du schonmal herausfinden, was für programme laufen.


optikandy - Mo 23.06.08 16:06

nana, blutiger anfänger ist ein bisschen übertrieben...

habe schon ein bisschen erfahrung...

hatte delphi auf der fos, und habe mich daheim auch schon üfters programmiert...

aber schon mal thx...

ich mache mich da mal schlau :-D


baka0815 - Mo 23.06.08 17:07

Ein Programm, das soetwas macht, wäre FileMon [http://www.microsoft.com/germany/technet/sysinternals/utilities/filemon.mspx]. Vielleicht lässt sich damit ja was heraus finden, wie die das machen.


Dunkel - Mo 23.06.08 17:37

user profile iconbaka0815 hat folgendes geschrieben:
Ein Programm, das soetwas macht, wäre FileMon [http://www.microsoft.com/germany/technet/sysinternals/utilities/filemon.mspx]. Vielleicht lässt sich damit ja was heraus finden, wie die das machen.

Über einen zwischengeschalteten Treiber.


Xentar - Mo 23.06.08 18:46

user profile iconDunkel hat folgendes geschrieben:
user profile iconbaka0815 hat folgendes geschrieben:
Ein Programm, das soetwas macht, wäre FileMon [http://www.microsoft.com/germany/technet/sysinternals/utilities/filemon.mspx]. Vielleicht lässt sich damit ja was heraus finden, wie die das machen.

Über einen zwischengeschalteten Treiber.


Das Programm arbeitet ohne Installation ;)


Timosch - Mo 23.06.08 18:52

user profile iconXentar hat folgendes geschrieben:
user profile iconDunkel hat folgendes geschrieben:
user profile iconbaka0815 hat folgendes geschrieben:
Ein Programm, das soetwas macht, wäre FileMon [http://www.microsoft.com/germany/technet/sysinternals/utilities/filemon.mspx]. Vielleicht lässt sich damit ja was heraus finden, wie die das machen.

Über einen zwischengeschalteten Treiber.


Das Programm arbeitet ohne Installation ;)

...und besteht zudem nur aus einer EXE-Datei. Von SYS und Co. Fehlanzeige. Ich tippe auf Hooks.


jaenicke - Mo 23.06.08 18:53

http://www.microsoft.com/germany/technet/sysinternals/utilities/filemon.mspx#EDE hat folgendes geschrieben:
Funktionsweise von FileMon

Beim Windows-9x-Treiber liegt das Kernstück von FileMon im virtuellen Gerätetreiber Filevxd.vxd. Dieser Treiber wird dynamisch geladen, und bei der Initialisierung wird ein Dateisystemfilter über den VxD-Dienst IFSMGR_InstallFileSystemApiHook installiert, der sich in die Aufruffolge aller Dateisystemanforderungen einfügt. Unter Windows NT besteht das Kernstück von FileMon in einem Dateisystemtreiber, mit dem Filtergeräteobjekte erstellt und an Zieldateisystem-Geräteobjekte angehängt werden, sodass alle IRPs und FastIO-Anforderungen an Laufwerke für FileMon sichtbar werden.


Xentar - Mo 23.06.08 19:25

OK, ich nehm alles zurück.

Wusste garnicht, dass Treiber dynamisch geladen werden können - dachte immer, die müssen fest installiert werden und werden erst nach nem reboot aktiv.


Dunkel - Mo 23.06.08 19:52

user profile iconXentar hat folgendes geschrieben:
OK, ich nehm alles zurück.

Wusste garnicht, dass Treiber dynamisch geladen werden können - dachte immer, die müssen fest installiert werden und werden erst nach nem reboot aktiv.

Irren ist menschlich. :wink:

Das Thema ist ziemlich komplex. Auch mit Dateisystem-Hooks ist das nicht so ohne weiteres zu machen, da einige (verdammt viele) API-Funktionen gehookt werden müssen. Wenn man keine fundierten Win32-API-Kenntnisse besitzt, sollte man tunlichst die Finger davon lassen; vor allem mit nur FOS & Hobby-Delphi-Kenntnissen (damit möchte ich diese nicht schmälern, einfach nur darauf Aufmerksam machen, dass das doch etwas tiefer in die Materie geht als das, was man im Alltag mit Delphi macht). :wink:


optikandy - Mo 23.06.08 22:57

naja, wenn das so ist, dann lasse ich wohl besser die finger davon...:-D

aber danke nochmal :-)

hätte nicht gedacht, dass das sooo schwer ist^^, aber dann habe ich halt pech gehabt ;-)


Boldar - Di 24.06.08 14:39

Man kann aber Problemlos feststellen, welche Prozesse laufen, also auch schon mal etwas.