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,ModifiedyRemoveda 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 bruto | Decodificación | Lectura habitual |
|---|---|---|
0x00800011 | Created, Modified, File | Se escribió un archivo nuevo |
0x00800400 | ExtendedAttrRemoved, File | Se eliminó un atributo |
0x00800008 | Renamed, File | Un lado de un renombrado o traslado |
0x03000000 | Mount, Folder | Se 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.