Seite 1 von 2

Dateizugriffe erkennen

Verfasst: 05.08.2006 22:56
von AND51
Hallo!

Mir ist gerade langweilig, da fällt mir eine Frage ein:
Woher wissen Anti-Virenprogramme, auf welche Datei gerade lesend oder schreibend zugegriffen wird?

Ach ja und noch etwas: Gibt es einen anderen Weg als alle Laufwerke rekursiv durchzugehen, nur um zu wissen welche Dateien man so hat?
Mit anderen Worten: Kann man auf die MFT zugreifen ubnd diese auslesen?

MfG, AND51

Re: Dateizugriffe erkennen

Verfasst: 05.08.2006 23:34
von Kiffi
> Mir ist gerade langweilig, da fällt mir eine Frage ein:

ist das hier eine ABM? ;-)

> Woher wissen Anti-Virenprogramme, auf welche Datei gerade
> lesend oder schreibend zugegriffen wird?

Beispielsweise mit ReadDirectoryChangesW:

http://www.purebasic.fr/english/viewtop ... c&start=17

Grüße ... Kiffi

Verfasst: 05.08.2006 23:36
von AND51
ABM?

Das ist halt so eine Frage, die mir spontan einfällt; natürlich werde ich nicht jede solche Frage stellen. Dazu ist die Laberecke doch da?

@Code: Qerde ich mir mal anschauen! Experimentiere nämlich gerade mit meiner Festplatte :wink:

Verfasst: 06.08.2006 00:35
von Eric
>>Woher wissen Anti-Virenprogramme, auf welche Datei gerade lesend oder schreibend zugegriffen wird?

Eigendlich wissen es die Antivirenprogramme sogar schon, bevor lesend oder schreibend
auf die Datei zugegriffen wird.
Also, wenn die Datei geöffnet wird.
Und da tippe ich auf einen API-Hook oder spezielle Treiber um die zugriffe abzufangen.
Ist die Datei dann überprüft und alles ist OK wird an die "richtige" Funktion weitergegeben.

€dit:
In der Wikipedia steht dazu:
Der Echtzeitscanner (engl. On-Access Scanner), auch Zugriffsscanner genannt, ist im Hintergrund als Systemdienst (Windows) bzw. Daemon (Unix) aktiv und scannt alle Dateien, Programme, den Arbeitsspeicher und evtl. den HTTP- wie den FTP-Verkehr. Um dies zu erreichen, werden so genannte Filtertreiber vom Antivirenprogramm installiert, welche die Schnittstelle zwischen dem Echtzeitscanner und dem Dateisystem bereitstellen.

Verfasst: 06.08.2006 14:00
von AND51
Aha, danke Eric!

Ich fand die Frage einfach mal interessant, aber wenn ich schon etwas von "Filtertreiber" lese, lasse ich doch lieber die Finger davon :roll:

@ Kiffi: Den Code habe ich mir angeschaut. Aber irgendwie habe ich das Gefühl, ich könnte das auch selber mit LinkedLists nachbauen. Denn wenn ich eine Textdatei öffne, die in C:\ liegt, dann meldet der Code nicht, wenn ich die Datei lese, nur wenn ich sie modifiziere und/oder lösche.
Trotzdem danke!

Verfasst: 06.08.2006 16:38
von Kiffi
> Aber irgendwie habe ich das Gefühl, ich könnte das auch selber mit
> LinkedLists nachbauen.

in diesem Fall trügt Dich Dein Gefühl.

Grüße ... Kiffi

Verfasst: 12.08.2006 12:43
von AND51
Trotzdem danke nochmal Kiffi.

Verfasst: 12.08.2006 14:16
von Leonhard
Um herauszufinden, welche Dateien geöffent wird verwende ich Filemon.exe.
Um die zugriffe in der Registrie zu überprüfen benutze ich Regmon.exe

Hab ich kurzer Hand hochgeladen:
Filemon.exe DEAD LINK 1
Regmon.exe DEAD LINK 2

Verfasst: 12.08.2006 14:20
von Kaeru Gaman
@Leonhard

schätze mal, irgendwelche exe sind als antwort komplett uninteressant, solange die nicht OpenSource sind, und du nen link rausrückst, wo man sich den Source ansehen kann...

Verfasst: 12.08.2006 18:35
von Alves
Vor allem ist die Frage, bo die COpyright geschützt sind.