Dateiformat: Cursor

Der Cursor markiert das logische Ende einer Eventlog-Datei. Dass dies nicht unbedingt auch das physische Ende sein muss, irritiert zahlreiche Programme. Wer deshalb ein Log von Hand mit dem Hexeditor auswerten muss, wird den Cursor doppelt zu schätzen wissen: seine auffällige Magic ist nicht zu übersehen und im Gegensatz zum Header sind die Daten auch immer aktuell.

Auch die Struktur des Cursors ist nicht dokumentiert. Nachdem aber das Format des Headers bekannt ist, lassen sich auch die Felder des Cursors schnell enträtseln:

Aufbau des Cursors
Lfd. Nr.OffsetLängeBedeutung
10x004Länge, stets 0x28
20x0416Magic, s.u.
30x144Offset des ersten Eintrags
40x184Offset des nächsten Eintrags (= Position des Cursors)
50x1c4Nummer des nächsten Eintrags
60x204Nummer des ersten Eintrags
10x244Länge, stets 0x28

Als Magic dient die 16 Bytes lange Zeichenfolge 0x1111 0x1111 0x2222 0x2222 0x3333 0x3333 0x4444 0x4444. Sie eignet sich auch gut zur Suche nach Eventlog-Fragmenten. False positives gibt es auch hier in der eventlog.dll.

Hat das Log noch nicht seine Maximallänge erreicht, so markiert der Cursor gleichzeitig das logische und das physische das Ende der Datei.

Hat das Log seine Maximallänge bereits erreicht, dann werden die ältesten Datesätze überschrieben. Der Cursor ist dann inmitten von Ereignis-Einträgen zu finden. Unmittelbar vor ihm befindet sich der jüngste (d.h. letzte) Ereignis-Eintrag. Hinter dem Cursor findet man eventuell das Ende eines überschriebenen Eintrags, gefolgt vom ältesten vollständig erhaltenen Ereignis-Eintrag.

Während der Header nur beim Herunterfahren des Eventlog-Dienstes aktualisiert werden, enthält der Cursor stets aktuelle Daten.

Noch ein paar Worte zur Nomenklatur. In meiner ersten Analyse des Dateiformats hatte ich den Datensatz als Cursor bezeichnet, weil er mich an die Schreibmarke in einer Textverarbeitung o.ä. erinnerte. Erst später sah ich in den Debug-Meldungen einer checked build von Windows 2000, dass Microsoft den Datensatz End of File Record nennt. Im Hinblick auf die physische Struktur finde ich diese Bezeichnung jedoch irritierend, so dass ich beim Cursor bleibe.

Archiv

Impressum

Dieses Blog ist ein Projekt von:
Andreas Schuster
Im Äuelchen 45
D-53177 Bonn
impressum@forensikblog.de

Copyright © 2005-2012 by
Andreas Schuster
Alle Rechte vorbehalten.