Ermitteln Sie, durch welchen Prozess eine Datei unter Windows geändert wird

9

Gibt es eine Möglichkeit zu erkennen, durch welchen Prozess eine Datei unter Windows 7 geändert wird?

Ich weiß, dass procmon ein großartiges Werkzeug ist, konnte aber nicht herausfinden, wie es geht oder ob es möglich ist.

Das Problem ist, dass ich eine Datei habe, die von einer Anwendung geändert wird, und ich möchte herausfinden, welche.

RaduM
quelle
Warum können Sie den Filter nicht in ProcMon verwenden (geben Sie einfach den Namen der Datei ein)?
Dave

Antworten:

12

Sowohl procexp als auch procmon sind dafür gut. Wenn der Prozess ein Handle für die betreffende Datei enthält, führen Sie einfach procexp aus und wählen Sie im Menü "Suchen" die Option "Handle oder DLL suchen". Geben Sie dann einen Teil des gesuchten Dateinamens ein.

Alternativ (und wie in den Kommentaren zur Frage erwähnt) können Sie mit procmon beispielsweise eine Datei mit dem Namen readme.txt suchen, um den Filterdialog zu öffnen und den Filter wie folgt festzulegen:

Bildschirmaufnahme des Prozessmonitorfilters

Klicken Sie dann auf die Schaltfläche Hinzufügen. Stellen Sie sicher, dass keine anderen ausgeschlossenen Prozesse Ihre Datei berühren.

Beginnen Sie dann mit der Erfassung von Ereignissen und lehnen Sie sich zurück und warten Sie.

meiden
quelle
Wie können Sie feststellen, dass ein Ereignis in procmon ein Dateimodifikationsereignis ist? Ich kann den Ort sehen, an dem die Datei geöffnet und geschlossen wird, aber ich kann keine Ereignisse sehen, bei denen es sich eindeutig um Änderungen an der Datei handelt.
Omnifarious
Im Fall README.txt scheint es eine WriteFile-Operation zu geben. Ich denke nicht, dass es immer so einfach ist, da es davon abhängt, wie die Anwendung mit dem Schreiben umgeht - dh sie speichert Dinge oder speichert Schreibvorgänge bis später usw. usw. Es gibt auch eine QueryBasicInformationFile-Operation mit LastAccess- und LastWrite-Zeiten.
Shunty
@shunty: Ahh, es wurde so viel Dateien gelesen, dass die WriteFile-Operationen im Rauschen versteckt waren. Ich habe den gesamten Installationsprozess von Anfang bis Ende erfasst. Es spielt also keine Rolle, ob zwischengespeichert oder gepuffert wurde, ob eine Datei, die in das Ereignis geschrieben wurde, darin enthalten sein sollte.
Omnifarious