Retour à tous les articles

Ce qui a changé dans Windows Prefetch v30 et v31

Les quatre premiers octets d'une charge utile SCCA décompressée contiennent un numéro de version. Ce seul champ vous indique quelle famille Windows a écrit le fichier ainsi que la structure d'en-tête à laquelle vous attendre :

VersionWindowsCompressionSlots de dernière exécution
17XP, Vista, 7Aucune1
23Windows 8Xpress Huff1
26Windows 8.1Xpress Huff8
30Windows 10Xpress Huff8
31Windows 11Xpress Huff8

Le saut v26 : huit horodatages d'exécution

Le changement le plus utile de toute l'histoire du format est intervenu avec Windows 8.1 (v26) : l'en-tête a gagné de la place pour stocker huit horodatages de dernière exécution au lieu d'un seul. Avant 8.1, un fichier Prefetch ne vous indiquait que la date de dernière exécution du programme. À partir de 8.1, vous disposez d'une fenêtre glissante des huit exécutions les plus récentes, chacune au format Windows FILETIME (u64 représentant des intervalles de 100 nanosecondes depuis le 01/01/1601 UTC).

C'est ce champ qui permet à un analyste de dire « le binaire a été exécuté huit fois au cours des trois derniers jours » plutôt que « le binaire a été exécuté à un moment donné avant hier ».

v30 : Windows 10

La structure de Windows 10 (v30) réorganise quelques offsets dans la section File Information et resserre les enregistrements Volume Information, mais les champs observables de l'extérieur restent les mêmes : nom, hash, compteur d'exécutions, les huit horodatages de dernière exécution, les informations de volume, et la liste des file metrics énumérant chaque DLL et chaque ressource manipulée par le binaire.

La plupart des parseurs n'ont pas besoin d'un chemin de code spécifique à chaque version à l'intérieur de la charge utile SCCA, au-delà de la simple lecture du numéro de version : les offsets des champs ont la même largeur et la même signification, seules leurs positions changent.

v31 : Windows 11

Windows 11 livre des fichiers Prefetch en v31. Les différences avec v30 sont mineures : Microsoft a resserré quelques octets de padding et ajouté des bits dans le champ des flags Prefetch. En pratique, un parseur qui gère proprement v30 lira v31 moyennant tout au plus un ajustement d'offset de largeur constante. Si votre outillage revendique le « support Windows 10 » mais échoue sur des fichiers Windows 11, la cause la plus fréquente est une vérification de version trop stricte plutôt qu'une véritable incompatibilité de format.

Ce que cela signifie pour vous

Lorsque le parseur de ce site affiche « Ver. 31 » dans le tableau, vous pouvez vous fier à l'historique des huit dernières exécutions et à la liste complète des file metrics. S'il affiche « Ver. 17 », vous ne disposez que d'un seul horodatage de dernière exécution et le fichier provient de XP à 7. Le champ de version est également utile pour le triage : trouver un fichier Prefetch v17 sur un hôte Windows 10 moderne est un indicateur fort que le Prefetch a été importé depuis un autre système.