Die Seite Gaijin.at wird durch Werbung finanziert.
Durch das Zulassen von Werbung auf der Domain Gaijin.at helfen Sie mit, weiterhin kostenlos Programme, Scripts und Online-Tools anzubieten.

Internet Explorer URL Cache

Der Internet Explorer verwendet für den Verlauf, das Cache-Inhaltsverzeichnis und das Cookie-Inhaltsverzeichnis eine Datei namens "index.dat". Das Dateiformat ist für alle Verwendungszwecke jedoch annähernd gleich.

Dateiheader

Die ersten 28 Byte bestehen aus dem Text "Client UrlCache MMF Ver 5.2", gefolgt von einem 0x00. An Offset 28 ist als DWord die Länge der gesamten Datei eingetragen und direkt danach (Offset 32) folgt die Position der ersten Hash-Tabelle.

Cache-Verzeichnisse

Wenn es sich bei der Datei um ein Cache-Inhaltsverzeichnis handelt, gibt das DWord an Offset 72 die Anzahl der Cache-Verzeichniseinträge an, die direkt danach folgen. Jeder Verzeichnisname besteht aus 12 Byte, wobei die Bedeutung des ersten DWords unbekannt ist. Die restlichen 8 Byte enthalten den Verzeichnisnamen. Die Reihenfolge der Verzeichniseinträge ist im weiteren Verlauf sehr wichtig, da nur mehr über den Index des Verzeichniseintrages darauf zugegriffen wird.

Hash-Tabellen

Jede Datei enthält mindestens eine Hash-Tabelle. Je nach Größe der können auch mehrere Hash-Tabellen in der Datei vorhanden sein. An der im Header (Offset 32) angegebenen Position beginnt die erste Hash-Tabelle mit dem Text "HASH". An Offset 4 der Hash-Tabelle ist die Länge der gesamten Tabelle eingetragen. Dieser Wert entspricht der Anzahl der 128 Byte Teile. Ist der Wert "2", so entspricht dies 256 Byte, ist der Wert 32, ist die Hash-Tabelle 4096 Byte lang.

Nach der Längenangabe folgt in einem weiteren DWord (Offset 8) die absolute Position der nächsten Hash-Tabelle in der Datei. Das nächste DWord dient nur zur Auffüllung der Daten bis zum Beginn des ersten Eintrages.

Jeder Hash-Eintrag besteht aus 8 Byte, wovon das erste DWord ein Flag und das zweite DWord ein Pointer auf den Datensatz ist. Wenn das Flag gleich 1 oder gleich 195948557 (0x0BADF00D) ist, darf der Pointer nicht beachtet werden, genauso wie wenn der Pointer größer als die Datei selbst oder kleiner der aktuellen Hash-Tabellenposition ist.

Eintrag

Ungeachtet der Verwendung der Datei, beginnt ein Eintrag immer mit den vier Bytes "URL", "LEAK" oder "REDR". Das nächste DWord ist die Länge des Eintrages, welches wieder die Anzahl der 128 Byte Blöcke bezeichnet.

Handelt es sich beim Eintrag um einen REDR-Eintrag (Weiterleitung), so verweist das nächste DWord (Offset 8) auf die absolute Position eines HASH-Eintrages. Ab Offset 12 ist die URL eingetragen, die mit einem 0x00 abgeschlossen wird.

Bei URL- und LEAK-Einträgen ist bei Offset 8 die Änderungszeit im FileTime-Format (1 QuadWord) enthalten und bei Offset 16 die Zeit des letzten Zugriffes, ebenfalls im FileTime-Format.

Bei Offset 52 ist die Position der URL als DWord innerhalb des Datensatzes eingetragen. Die URL endet immer mit einem 0x00. Bei Offset 56 ist der Index des lokalen Cache-Verzeichnisses gespeichert. Der Pointer zum Dateinamen eines Cache-Eintrages befindet sich bei Offset 60 und der Pointer für den HTTP-Header und dem Benutzernamen sind bei Offset 68 eingetragen. Die Länge des HTTP-Headers ist bei Offset 72 vermerkt. Alle Positions- und Längenangaben sind als DWord gespeichert und Zeichenketten enden immer mit 0x00.

Relevante Programme

Die folgenden Programme von Gaijin.at haben einen Bezug zu diesem Thema.

Historian (Freeware, portabel)
Liest Verlaufsdateien, Favoriten, Cookies und sonstige Dateien der gebräuchlichsten Webbrowser aus und exportiert diese in eine mit Microsoft Excel kompatible CSV-Tabelle oder in eine frei anpassbare Textdatei.

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