Qu'est-ce que le format de fichier COM ?
Un fichier .com est un binaire exécutable simple - l'un des plus anciens formats de programme de l'informatique personnelle, originaire du système d'exploitation CP/M de Digital Research avant d'être repris par MS-DOS. Contrairement au format .exe, qui prend en charge plusieurs segments de mémoire et des tables de relocalisation, un programme .com est un binaire plat brut sans en-tête de fichier : chaque octet est chargé directement en mémoire à l'offset 0x0100 au sein d'un unique segment en mode réel de 64 Ko et exécuté immédiatement. Cette contrainte architecturale signifie qu'un fichier .com ne peut jamais dépasser environ 64 Ko.
Même s'il a été complété par le format .exe plus généraliste, le .com est resté pratique et largement utilisé tout au long de l'ère MS-DOS pour les petits utilitaires, les outils en ligne de commande et les programmes TSR. Sous Windows 32 bits, le sous-système NTVDM exécutait les fichiers .com de manière transparente ; NTVDM ayant été supprimé de Windows 64 bits, l'exécution native sur les systèmes Windows modernes nécessite un émulateur tel que DOSBox.
L'extension .com n'a absolument aucun lien avec le nom de domaine de premier niveau Internet .com. Cette correspondance de nommage a historiquement été exploitée par des auteurs de logiciels malveillants qui déguisent des fichiers exécutables .com en liens ou en texte, faisant de ce format un vecteur d'ingénierie sociale bien documenté.
Sécurité et sûreté
RISQUE : HIGHLes fichiers COM sont du code exécutable - historiquement le principal vecteur de logiciels malveillants sous DOS (les virus de secteur d'amorçage déposaient souvent des infecteurs .com). Sur les systèmes Windows 64 bits modernes, ils ne peuvent pas s'exécuter nativement, ce qui constitue une barrière de sécurité pratique, mais sur les systèmes 32 bits ou dans les émulateurs DOS, ils s'exécutent sans restriction. Ne lancez jamais un fichier COM reçu de manière inattendue ; analysez-le avec un antivirus avant de le lancer dans un émulateur. Risque particulier : les internautes confondent .com (domaine) avec .com (exécutable) et téléchargent sans le savoir des fichiers exécutables en pensant qu'il s'agit de pages web.
Détails du format
en bref- Stub d'enregistrement Windows Component Object Model - Rare ; certains très anciens utilitaires d'auto-enregistrement de serveurs Windows COM utilisaient l'extension .com.
- Script de commande réseau (Cisco IOS etc.) - Certains appareils embarqués ou réseau utilisent .com pour les micrologiciels ou les scripts de commande - sans rapport avec DOS.
Programmes qui ouvrent les fichiers COM
Détails techniques
spécifications approfondies| Encodage | Code machine binaire brut (mode réel x86) |
| Ordre des octets | Little-endian (x86) |
| En-tête de fichier | Aucun - binaire plat sans en-tête, sans table de relocalisation, sans descripteurs de segment |
| Signature de fichier | Aucune - identifié uniquement par l'extension ; les premiers octets sont généralement un opcode JMP (0xEB ou 0xE9) mais ce n'est pas obligatoire |
| Adresse de chargement | Chargé à l'adresse segment:0x0100 ; le Program Segment Prefix (PSP) occupe les octets 0x0000-0x00FF du segment |
| Modèle de mémoire | CS = DS = ES = SS pointent tous vers le même segment de 64 Ko en mode réel - pas de séparation de segment |
| Taille maximale de fichier | ~65 280 octets (un segment de 64 Ko moins le PSP de 256 octets et l'allocation minimale de la pile) |
| Type MIME | application/x-msdos-program |
| Support Windows 64 bits | Non supporté nativement - NTVDM (sous-système 16 bits) supprimé de Windows 64 bits ; utilisez DOSBox ou DOSBox-X |
| Héritage CP/M | Format originaire de CP/M de Digital Research (1974) et adopté sans changement pour MS-DOS 1.0 (1981) |
| Remplacé par | .exe pour les programmes dépassant 64 Ko ; .cmd / .bat pour les scripts de console Windows |
| Note de sécurité | Historiquement un vecteur majeur de logiciels malveillants - trivialement exécutable et facilement modifiable sans rompre la structure ; souvent déguisé en noms de fichiers de type domaine |
| Systèmes d'exploitation | MS-DOS, PC DOS, FreeDOS, Windows 32 bits (via NTVDM), CP/M ; DOSBox/DOSBox-X pour un usage moderne |
| Publié | 1974 (CP/M); MS-DOS 1.0, 1981 |
| Dernière version | No versioning - raw binary format unchanged |
Conversions COM
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers COM.