Skip to content

Glosario

Flags de FSEvents

Conjunto de bits de 32 bits de cada registro FSEvents que indica qué cambió (creación, borrado, renombrado…) y el tipo de elemento.

Los flags de FSEvents son el campo de 32 bits de cada registro FSEvents que indica qué le ocurrió a la ruta y qué tipo de elemento es. El valor se almacena en little-endian. Leído así, los bits bajos describen el cambio (Created 0x1, Removed 0x2, InodeMetaMod 0x4, Renamed 0x8, Modified 0x10, ExtendedAttrModified 0x200, ExtendedAttrRemoved 0x400, ItemCloned 0x4000…) y los bits altos, el tipo de elemento (File 0x00800000, Folder 0x01000000, SymbolicLink, HardLink) y los eventos de volumen (Mount, Unmount, EndOfTransaction).

Por qué importa en una investigación

Los flags son la única descripción de un evento: FSEvents no guarda usuario, proceso ni contenido. Leerlos bien marca la diferencia entre «se descargó un archivo» y «cambiaron los permisos de un archivo».

Hay tres errores frecuentes:

  • El orden de bytes. FSEventsParser lee los mismos cuatro bytes en big-endian y usa constantes con los bytes invertidos (Created = 0x01000000). Ambas convenciones dan los mismos nombres; mezclarlas, no.
  • Las constantes de la API son otras. Los valores públicos kFSEventStreamEventFlag* de Apple describen lo que recibe una aplicación en ejecución, no lo que se escribe en .fseventsd. Aplicar esa tabla a los archivos de log produce nombres erróneos.
  • Varios cambios por registro. Debido a la agrupación de eventos, un registro puede llevar Created, Modified y Removed a la vez, sin orden registrado.

Conviene mostrar en hexadecimal los bits sin significado documentado en lugar de adivinar; en datos recuperados por carving, sugieren un registro dañado.

Ejemplo

Valor brutoDecodificaciónLectura habitual
0x00800011Created, Modified, FileSe escribió un archivo nuevo
0x00800400ExtendedAttrRemoved, FileSe eliminó un atributo
0x00800008Renamed, FileUn lado de un renombrado o traslado
0x03000000Mount, FolderSe montó un volumen en esta ruta

Términos relacionados

FSEvents Parser muestra los flags como etiquetas junto al valor bruto; cada bit se detalla en los flags de FSEvents explicados.