Skip to content

Glosario

Página DLS (1SLD, 2SLD, 3SLD)

Estructura de bloques de los logs FSEvents descomprimidos: cabecera de 12 bytes con magic 1SLD, 2SLD o 3SLD y registros empaquetados.

Una página DLS es la estructura de bloques de un archivo de log FSEvents descomprimido. Cada log de .fseventsd es un archivo gzip; una vez descomprimido, es una secuencia de páginas, y cada página empieza con una cabecera de 12 bytes:

DesplazamientoTamañoCampo
04Valor mágico: los bytes ASCII 1SLD, 2SLD o 3SLD
44Desconocido
84Tamaño de la página, u32 little-endian, cabecera incluida

Tras la cabecera, los registros van uno detrás de otro hasta alcanzar el tamaño de la página. El valor mágico determina su estructura: un registro 1SLD es una ruta terminada en NUL seguida de un event ID y de flags (12 bytes); 2SLD añade un node ID de 8 bytes (20 bytes, macOS 10.13 y posteriores); 3SLD añade cuatro bytes más (24 bytes, macOS 14 y posteriores), cuyo significado Apple no ha documentado. Algunos textos escriben «DLS1/DLS2» porque eso es lo que se lee al interpretar el valor mágico como entero little-endian; en disco, los bytes son 1SLD.

Por qué importa en una investigación

La versión de página indica qué puede probar cada registro. Sin node ID (1SLD), los renombrados solo pueden emparejarse por event IDs consecutivos. Un volumen usado a lo largo de varias actualizaciones de macOS puede contener varias versiones a la vez. Y como Apple no documenta el formato, conocer los límites de las páginas es lo que permite a un parser resistir los daños: una página cuyo tamaño supera los datos, o bytes basura entre páginas, pueden notificarse y saltarse sin perder los registros de alrededor.

Ejemplo

Una cabecera que empieza por 33 53 4c 44 corresponde a una página 3SLD. Si los bytes 8 a 11 son 2c 1a 00 00, la página mide 0x1a2c = 6.700 bytes, cabecera incluida. Cada registro es una ruta, un byte NUL y luego 24 bytes de campos fijos.

Términos relacionados

FSEvents Parser indica la versión de página y los posibles daños de cada archivo de log; la estructura completa está en Formato de archivo FSEvents: páginas 1SLD, 2SLD y 3SLD.