Volver a todos los artículos

Qué cambió en Windows Prefetch v30 y v31

Los primeros cuatro bytes dentro de un payload SCCA descomprimido son un número de versión. Ese único campo te dice qué familia de Windows escribió el archivo y qué disposición de cabecera debes esperar:

VersionWindowsCompressionLast-run slots
17XP, Vista, 7None1
23Windows 8Xpress Huff1
26Windows 8.1Xpress Huff8
30Windows 10Xpress Huff8
31Windows 11Xpress Huff8

El salto de v26: ocho marcas de ejecución

El cambio más útil en toda la historia del formato llegó con Windows 8.1 (v26): la cabecera pasó a tener espacio para ocho marcas de tiempo de última ejecución, en lugar de una sola. Antes de 8.1, un archivo prefetch solo te decía cuándo se había ejecutado el programa por última vez. A partir de 8.1 tienes una ventana deslizante con las ocho ejecuciones más recientes, cada una como un FILETIME de Windows (u64 de intervalos de 100 nanosegundos desde el 1601-01-01 UTC).

Este es el campo que permite a los analistas afirmar "el binario se ejecutó ocho veces en los últimos tres días" en lugar de "el binario se ejecutó en algún momento antes de ayer".

v30: Windows 10

La disposición de Windows 10 (v30) reordena algunos offsets en la sección de file information y ajusta los registros de volume information, pero los campos observables desde fuera son los mismos: nombre, hash, contador de ejecuciones, las ocho marcas de última ejecución, información de volumen y la lista de file-metric con cada DLL y recurso que tocó el binario.

La mayoría de los parsers no necesita rutas de código específicas por versión dentro del payload SCCA más allá de leer el propio número de versión: los campos tienen el mismo ancho y significado, solo se mueven de posición.

v31: Windows 11

Windows 11 trae archivos prefetch v31. Las diferencias respecto a v30 son mínimas: Microsoft ha ajustado algunos bytes de relleno y añadido bits al campo de flags de prefetch. En la práctica, un parser que maneje v30 limpiamente leerá v31 con, como mucho, un ajuste de offset de ancho constante. Si tu cadena de herramientas presume de "soporte para Windows 10" pero falla con archivos de Windows 11, la causa más habitual es una verificación de versión demasiado estricta y no una incompatibilidad real de formato.

Qué significa esto para ti

Cuando el parser de este sitio te muestra "Ver. 31" en la tabla, puedes confiar en el historial de las últimas ocho ejecuciones y en la lista completa de file-metric. Si te muestra "Ver. 17", solo dispones de una marca de última ejecución y el archivo proviene de XP, Vista o 7. El campo de versión también resulta útil para el triaje: encontrar un prefetch v17 en un host moderno de Windows 10 es un fuerte indicio de que el prefetch fue copiado desde otro sitio.