Le système de fichiers ExFAT se rencontre dans l’embarqué, par exemple sur les cartes mémoire des appareils photo numériques ou celles des smartphones Android. Nous allons voir dans cet article comment fonctionne ce système de stockage très simple, et les améliorations par rapport à FAT32. Nous irons jusqu’à comprendre comment localiser les métadonnées, lire le contenu d’un fichier et d’un répertoire.
ExFAT est donc une évolution de FAT32, conçu également par Microsoft, surtout à destination des mémoires flash et stockages externes. Annoncées en 2009, les cartes mémoires SDXC sont ainsi formatées par défaut en ExFat, ainsi que les stockages de plus de 32Go pour les versions Windows XP et 2000 (hormis NTFS).
La rétroconception a été réalisée par Robert Shullich en 2009 [SHULLICH] et Microsoft en a publié les spécifications dix ans plus tard [MS]. ExFat est également protégé par brevet [PATENT].
Commençons d’abord avec les points communs aux systèmes de fichiers FAT.
1. Principes généraux de FAT et évolution d’ExFAT depuis FAT32
1.1 FAT : depuis 1978 (FAT8) et jusqu’à aujourd’hui (ExFAT)
ExFAT signifie Extensible File Allocation Table : comme avec FAT32, les données des fichiers et répertoires sont stockées sous forme de clusters formés de 8 à 256 secteurs contigus. Le chaînage des clusters d’un fichier ou répertoire est...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première
[Shullich] Reverse Engineering the Microsoft exFAT File System, by Robert Shullich, 2009, SANS Institute InfoSec Reading Room : http://reverse-engineering-microsoft-exfat-file-system-33274-1.pdf
[MS] exFAT file system specification, Microsoft, 27 août 2019,
https://docs.microsoft.com/en-us/windows/win32/fileio/exfat-specification
[Patent] Quick filename lookup using name hash, 2009, https://patents.google.com/patent/US8321439B2/en
[MBR] https://en.wikipedia.org/wiki/Master_boot_record#Partition_table_entries
[EXFATDUMP] exfat_dump.py is an experimental tool for forensic analysis of the ExFAT filesystem, https://github.com/lclevy/exfatDump
[DIRENTRY] File DirectoryEntry, ExFat : https://docs.microsoft.com/en-us/windows/win32/fileio/exfat-specification#74-file-directory-entry