Der Verweis wird entfernt, und eine Metadatendatei wird im Papierkorb gespeichert, um den ursprünglichen Speicherort zu ermitteln.
In den Anfängen unter Windows 95 und 98 befand sich dies in \RECYCLED
. Unter Windows 2000 und höher wurde es in umbenannt \RECYCLER
. Seit Windows Vista heißt es nun ein spezieller Ordner \$Recycle.Bin
.
Verwenden Sie Process Monitor , um die E / A unter der Haube zu sehen, setzen Sie einen Filter auf Recycle.Bin
und besuchen Sie ihn. :)
Zum Beispiel, wenn ich das mache:
notepad \$RECYCLE.BIN\S-1-5-21-0192837465-987654321-0123456789-1000\$EXAMPL5
Hinweis: Der lange Ordnername ist eine Benutzer-SID . Der letzte Ordnername ist ein Hash, der auf den Metadaten basiert.
Ich erhalte eine Datei mit folgenden Metadateninformationen:
Ö¸ÌC : \ P a t h \ T o \ S o m e \ E x a m p l e . t x t
Der Grund dafür, dass der Dateipfad Leerzeichen dazwischen enthält, besteht darin, dass er in Wide-Byte-Zeichen gespeichert ist, um Sonderzeichen für bestimmte Sprachen sowie Unicode und was sonst noch zu unterstützen. Die früheren Symbole sind binär und enthalten Informationen wie Dateigröße und Berechtigungen sowie einen Zeiger auf die Dateidaten. Im Wesentlichen enthält es genügend Informationen, um die ursprüngliche Referenz zu rekonstruieren ...
Es ist traurig, dass das Buch Windows Internals dies nicht behandelt, sonst hätte ich mehr Nachschlagewerke gehabt. Ich habe keine Artikel gefunden, die detailliert darauf eingehen, weder von Microsoft noch von Dritten. Sie existieren wahrscheinlich, aber ich fand es einfacher, das Hauptkonzept rückgängig zu machen ...