Möchten Sie eine Seite auf Gaijin.at verlinken?
Auf der Seite für Webmaster finden Sie Banner, Buttons und Text-Links, die Sie in Ihre Seite einfügen können.

Alternative Datenströme (ADS)

Das Dateisystem NTFS ermöglicht das Speichern von Daten in alternativen Datenströmen (auch Data-Streams, Alternate Data Streams bzw. ADS). Mit solchen Data-Streams lassen sich Daten so in einer Datei verbergen, dass diese für den Windows Explorer nicht sichtbar sind. Allerdings gibt es Programme, die solche Data-Streams anzeigen und löschen können. Darunter auch das Programm StreamFinder.

Normalerweise werden Daten in den unbenannten Data-Stream einer Datei geschrieben. Dazu muss nur der Name der Datei angegeben werden, etwa "readme.txt". Mit jedem Texteditor kann diese Datei dann geöffnet und angezeigt werden. Möchte man auf einen bestimmten Data-Stream einer Datei zugreifen, muss - ohne Verwendung spezieller Programme - der Name dieses Data-Streams bekannt sein. Der Name des Data-Streams wird mit einem Doppelpunkt vom Dateinamen getrennt. Ist der Dateiname beispielsweise "readme.txt" und die Daten sollen in den Stream mit dem Namen "secret" geschrieben werden, lautet der Dateiname "readme.txt:secret".

Das Erstellen eines alternativen Data-Streams ist denkbar einfach. In der Konsole reicht eine Ausgabeumleitung, um einen eigenen unsichtbaren Data-Stream zu erstellen. Möchte man an die Datei "readme.txt" einen Stream mit dem Namen "secret" anhängen, genügt die Umleitung der Ausgabe des ECHO-Befehls.

echo Das ist ein geheimer Text > readme.txt:secret

Hier wurde mit dem Befehl "echo" der Text "Das ist ein geheimer Text" ausgegeben. Das Größerzeichen bewirkt, dass dieser Text nicht am Bildschirm gedruckt wird, sondern in die Datei "readme.txt", als Data-Stream mit dem Namen "secret" geschrieben wird.

Damit können jedoch nur kurze Texte in einen Data-Stream geschrieben werden. Abhilfe schafft hier die Möglichkeit, auch ganze Dateien mit dem Befehl "type" auszugeben.

type secret.txt > readme.txt:secret

Dieser Befehl gibt den Inhalt der Datei "geheim.txt" in den Stream "geheim" der Datei "readme.txt" aus. Aber Vorsicht: Das Kommando "type" kann nicht mit Data-Streams arbeiten. Der Befehl "type" gibt den Inhalt der Textdatei lediglich aus, das Schreiben dieser Daten in den Stream übernimmt der Befehlsprozessor (cmd.exe). Wenn die Informationen in einem Data-Stream ausgegeben werden sollen, muss dazu der Befehl "more" verwendet werden, der im Gegensatz zu "type" mit Streams umgehen kann. Um nun die Streams wieder auszugeben, verwendet man den Befehl

more < readme.txt:secret

Da im Stream "secret" der Inhalt einer anderen Datei steht, könnte eine Umleitung dafür sorgen, dass die geheimen Daten in eine neue Datei geschrieben werden. Dies geschieht z.B. mit dem Befehl

more < readme.txt:secret > secret.txt

Leider kommt "more" mit Binärdateien nicht zurecht. Daher muss zum Extrahieren eines solchen Data-Streams ein anderes Programm verwendet werden. Hier bietet sich das Programm "cat" aus dem Programmpaket "UnxUtils" an.

Damit sehen die Kommandos zum Schreiben von binären Data-Streams wie folgt aus:

type secret.zip > readme.txt:secret

oder

cat secret.zip > readme.txt:secret

Und zum Auslesen:

cat readme.txt:secret > secret.zip

Beta-Bereich | Webmaster | Übersetzer | Unterstützung | Kontakt & Nutzungsbedingungen