Introduction
Extension d'un fichier compressée utilisé par Microsoft pour compresser leurs logiciels. Ils peuvent être décompressés par des versions récentes de WinZip ou bien avec l'utilitaire CabView fourni avec l'ensemble Tweak UI.
Structure d'entête du fichier
Voici la structure d'entête du fichier CAB :
Déplacement | Taille | Description |
---|---|---|
0000h | 4 octets | Ce champ permet d'indiquer la signature du fichier CAB: «MSCF». |
0004h | 4 octets | Ce champ est réservé, souvent 0. |
0008h | 4 octets | Ce champ permet d'indiquer la taille du fichier de cabinet. |
000Ch | 4 octets | Ce champ est réservé, souvent 0. |
0010h | 4 octets | Ce champ permet d'indiquer la position de départ de la table de fichiers |
0014h | 4 octets | Ce champ est réservé. |
0016h | 2 octets | Ce champ est réservé. |
0018h | 2 octets | Ce champ permet d'indiquer le nombre de fichiers prérequis. |
001Ah | 2 octets | Ce champ permet d'indiquer le nombre de fichiers compressé dans le fichier de cabinet. |
001Ch | 2 octets | Ce champ est réservé. |
001Eh | 4 octets | Ce champ est réservé. |
Structure du corps du fichier
Voici la structure d'un enregistrement d'entrée d'un nom de fichier compressé dans le CAB :
Déplacement | Taille | Description |
---|---|---|
0000h | 4 octets | Ce champ permet d'indiquer la taille original du fichier. |
0004h | 4 octets | Ce champ est réservé. |
0008h | 4 octets | Ce champ permet d'indiquer la date du fichier en format compacté. |
000Ch | 4 octets | Ce champ permet d'indiquer l'heure du fichier en format compacté. |
0010h | variable | Ce champ permet d'indiquer le nom du fichier compacté. |
Exemple
Voici un exemple montrant la structure de ce format suivant en Turbo Pascal 7 :
- Type
- {Entête de fichier compressé d'installation de Windows 95/98 : «.CAB» }
- CabHeader=Record
- Sign:Array[0..3]of Char; { Signature: Toujours "MSCF" }
- ResA:LongInt; { Réservé, souvent 0 }
- FileSize:LongInt; { Taille du fichier }
- ResB:LongInt; { Réservé, souvent 0 }
- StartTable:LongInt; { Position de départ de la table des fichiers }
- ResC:LongInt;
- ResD:Word;
- NumPreFiles:Word; { Nombre de fichiers prérequis }
- NumFiles:Word; { Nombre de fichiers compressé dans ce fichier }
- ResE:Word;
- ResF:LongInt;
- End;
-
- {Entrée de fichier d'un fichier compressé CAB }
- CabEntryFiles=Record
- OSize:LongInt; { Taille original }
- ResB:LongInt;
- Date:LongInt; { Date en format compacté }
- Time:LongInt; { Heure en format compacté }
- NameData:Array[0..255]of Char; { Début du nom...}
- End;
-
Voir également
Format d'image Bitmap pour Windows (.BMP)
Format d'icône pour Windows (.ICO)
Dernière mise à jour : Mardi, le 24 juin 2014