Ermitteln Sie, welcher Prozess eine Datei unter Windows ändert

3336
RaduM

Gibt es eine Möglichkeit festzustellen, welcher Prozess eine Datei unter Windows 7 ändert?

Ich weiß, dass procmon ein großartiges Werkzeug ist, aber ich konnte nicht herausfinden, wie es gemacht wird oder ob es überhaupt möglich ist.

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

6
Warum können Sie den Filter nicht in ProcMon verwenden (geben Sie einfach den Namen der Datei ein)? Dave vor 11 Jahren 0

1 Antwort auf die Frage

10
shunty

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

Alternativ (und wie in den Kommentaren zu der Frage erwähnt) können Sie mit procmon zum Beispiel eine Datei namens readme.txt suchen, um den Filterdialog zu öffnen und den Filter so einzustellen:

Process monitor filter screen capture

Drücken Sie dann die Schaltfläche Hinzufügen. Stellen Sie sicher, dass keine anderen Prozesse ausgeschlossen sind, die möglicherweise Ihre Datei berühren.

Dann beginnen Sie mit dem Erfassen von Ereignissen und lehnen Sie sich zurück und warten Sie.

Wie können Sie feststellen, dass ein Ereignis in procmon ein Dateiänderungsereignis ist? Ich kann sehen, wo die Datei geöffnet und geschlossen wird, aber ich sehe keine Ereignisse, bei denen es sich eindeutig um Änderungen der Datei handelt. Omnifarious vor 11 Jahren 0
In dem 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. Das heißt, es speichert Sachen oder speichert Schreibvorgänge bis zu einem späteren Zeitpunkt usw. Es gibt auch eine QueryBasicInformationFile-Operation, die LastAccess und LastWrite-Zeiten hat. shunty vor 11 Jahren 0
@shunty: Ah, es wurden so viele Dateien gelesen, dass die WriteFile-Operationen im Rauschen verborgen waren. Ich habe den gesamten Installationsprozess von Anfang bis Ende erfasst. Es ist also egal, ob es Zwischenspeicherungen oder Pufferungen gab, ob eine Datei in das Ereignis geschrieben wurde. Omnifarious vor 11 Jahren 0