Skip to content

Glossar

FSEvents-Flags

Der 32-Bit-Bitsatz in jedem FSEvents-Datensatz, der angibt, was sich geändert hat (erstellt, entfernt, umbenannt …), und den Objekttyp.

FSEvents-Flags sind das 32-Bit-Feld in jedem FSEvents-Datensatz, das angibt, was mit dem Pfad geschah und um welche Art von Objekt es sich handelt. Der Wert ist Little-Endian gespeichert. So gelesen beschreiben die niedrigen Bits die Änderung (Created 0x1, Removed 0x2, InodeMetaMod 0x4, Renamed 0x8, Modified 0x10, ExtendedAttrModified 0x200, ExtendedAttrRemoved 0x400, ItemCloned 0x4000 …), die hohen Bits den Objekttyp (File 0x00800000, Folder 0x01000000, SymbolicLink, HardLink) und Volume-Ereignisse (Mount, Unmount, EndOfTransaction).

Warum das für Untersuchungen wichtig ist

Die Flags sind die einzige Beschreibung eines Ereignisses: FSEvents speichert weder Benutzer noch Prozess noch Inhalt. Sie richtig zu lesen, macht den Unterschied zwischen „eine Datei wurde heruntergeladen“ und „die Berechtigungen einer Datei wurden geändert“.

Drei Fallstricke treten häufig auf:

  • Bytereihenfolge. FSEventsParser liest dieselben vier Bytes Big-Endian und verwendet byteweise vertauschte Konstanten (Created = 0x01000000). Beide Konventionen liefern dieselben Namen; sie zu vermischen nicht.
  • API-Konstanten sind andere. Apples öffentliche kFSEventStreamEventFlag*-Werte beschreiben, was eine laufende App erhält, nicht was in .fseventsd geschrieben wird. Wer diese Tabelle auf Logdateien anwendet, erhält falsche Namen.
  • Mehrere Änderungen pro Datensatz. Wegen der Zusammenfassung von Ereignissen kann ein Datensatz Created, Modified und Removed gleichzeitig tragen, ohne gespeicherte Reihenfolge.

Bits ohne dokumentierte Bedeutung zeigt man besser hexadezimal an, statt zu raten; in gecarvten Daten deuten sie auf Beschädigung hin.

Beispiel

RohwertDekodiertÜbliche Lesart
0x00800011Created, Modified, FileEine neue Datei wurde geschrieben
0x00800400ExtendedAttrRemoved, FileEin Attribut wurde entfernt
0x00800008Renamed, FileEine Seite einer Umbenennung oder Verschiebung
0x03000000Mount, FolderAn diesem Pfad wurde ein Volume eingehängt

Verwandte Begriffe

Der FSEvents Parser zeigt Flags als beschriftete Chips samt Rohwert; jedes Bit ist in FSEvents-Flags erklärt aufgeführt.