Skip to content

Formato de thumbcache_*.db: cabecera CMMM y entradas

Estructura a nivel de byte de las bases thumbcache e iconcache de Windows, de Vista a Windows 11: cabecera, tipos de caché por versión y estructura de entrada.

Publicado el 5 min de lectura

Esta es una referencia de la estructura en disco de las cachés de miniaturas e iconos del Explorador de Windows (thumbcache_*.db, iconcache_*.db). El formato no está documentado por Microsoft. Lo que sigue es coherente con investigaciones públicas y parsers de código abierto como Vinetto y Thumbcache Viewer, y es lo que implementa Thumbcache Parser. Todos los enteros son little-endian.

Cabecera del archivo

OffsetTamañoCampo
04Firma CMMM
44Versión de formato
84Tipo de caché (índice en la tabla siguiente)

Lo que sigue depende de la versión:

VersiónEscrita porOffset 12Offset 16Offset 20Offset 24
0x14Vistaprimera entradaentrada disponiblenúmero de entradas–
0x157primera entradaentrada disponiblenúmero de entradas–
0x1A8primera entradaentrada disponiblenúmero de entradas–
0x1C8 (v2)reservadoprimera entradaentrada disponiblenúmero de entradas
0x1E8 (v3)reservadoprimera entradaentrada disponible–
0x1F8.1reservadoprimera entradaentrada disponible–
0x2010 / 11reservadoprimera entradaentrada disponible–

Primera entrada es el offset de la primera entrada de caché. Entrada disponible marca el inicio del espacio libre: las entradas posteriores a ese punto fueron liberadas, pero sus bytes suelen seguir intactos. Un parser robusto debe comprobar que el offset de la primera entrada apunta realmente a CMMM, y recurrir al escaneo si no es así.

Tipos de caché

El número de tipo de caché corresponde a la clase de tamaño del archivo, y la tabla cambió entre versiones:

Versión012345678910111213
Vista / 732962561024sr
8 (todas)163248962561024srwideexif
8.11632489625610241600srwideexifwide_alternate
10 / 1116324896256768128019202560srwideexifwide_alternatecustom_stream

Entrada de caché

Las entradas se suceden una tras otra. La cabecera ocupa 48 bytes en Windows 7 y 56 bytes en Vista y Windows 8+:

CampoVista78 → 11
Firma CMMM000
Tamaño de entrada (total)444
Hash de entrada / ID de caché (u64)888
Extensión de origen (4 × UTF-16)16––
Tamaño del identificador241616
Tamaño de relleno282020
Tamaño de datos322424
Ancho––28
Alto––32
Desconocido362836
Checksum de datos (u64)403240
Checksum de cabecera (u64)484048

Tras la cabecera vienen el identificador (UTF-16LE, normalmente el ID de caché escrito como 16 dígitos hexadecimales), el relleno y los datos de imagen. La siguiente entrada empieza en offset + tamaño de entrada.

Las entradas con tamaño de datos 0 son habituales. Son marcadores de posición de elementos cuya miniatura no se generó o se descartó. Aun así llevan un ID de caché, por lo que merece la pena incluirlas en una línea de tiempo.

Comprobaciones al tallar (carving)

Al buscar CMMM fuera de la cadena de entradas activa, descarta un candidato salvo que:

  • el tamaño de entrada sea al menos la longitud de la cabecera y quepa en el archivo;
  • cabecera + identificador + relleno + datos ≤ tamaño de entrada;
  • el tamaño del identificador sea par y razonablemente pequeño.

Estas comprobaciones mantienen los falsos positivos poco frecuentes, porque CMMM no aparece a menudo dentro de datos de imagen.

Los datos de imagen

El payload es un archivo de imagen completo: BM (BMP), FF D8 FF (JPEG) o 89 50 4E 47 (PNG). Estos bytes se deben hachear tal cual para el informe. Windows 10 y 11 almacenan sobre todo BMP de 32 bits, de arriba abajo o de abajo arriba, que cualquier navegador moderno puede mostrar.

thumbcache_idx.db

El índice (IMMM) asocia IDs de caché con offsets de entrada en cada base de datos de tamaño, junto con indicadores (flags). No contiene imágenes, y su estructura varía más entre builds. Es más útil para confirmar que un ID estuvo en caché en algún momento, incluso después de que las bases de tamaño se hayan limpiado.

Para saber más

Artículos relacionados

Qué demuestran los archivos thumbcache_*.db en una investigación, cómo recuperar miniaturas borradas y las salvedades antes de incluir una en un informe.
Thumbcache Viewer, Vinetto, suites forenses y análisis en el navegador comparados: plataformas, formatos, recuperación de entradas borradas y mapeo de nombres.