Qu'est-ce que le format de fichier EXEC ?
Les fichiers exécutables pour Unix et les systèmes de type Unix peuvent être enregistrés avec l'extension .exec. Un fichier .exec peut contenir virtuellement n'importe quel programme exécutable sur un système d'exploitation donné - soit un binaire compilé (comme un binaire ELF sur Linux/Unix), soit un script d'interpréteur en texte brut. Le .exec a son équivalent sous la forme de fichiers .exe sur les systèmes Windows.
En règle générale sur les systèmes Unix, les fichiers exécutables sont enregistrés sans aucune extension - le suffixe .exec est utilisé pour marquer les fichiers exécutables dans les gestionnaires de fichiers et les IDE sur macOS, Linux ou FreeBSD, distinguant ainsi la sortie exécutable des fichiers sources.
La capacité d'exécuter un fichier .exec est déterminée par les bits de permission du fichier et son en-tête interne, et non par l'extension. Le noyau vérifie les octets magiques à l'offset 0 : les binaires ELF commencent par \x7FELF, les binaires macOS Mach-O par FEEDFACE, et les scripts par #! suivi du chemin d'un interpréteur (par exemple, #!/bin/bash pour un script .sh).
Les fichiers .exec peuvent être lancés depuis la ligne de commande (shell). Sur macOS, c'est le bit d'exécution (l'attribut de permission x) qui importe - un fichier s'exécute correctement avec ou sans l'extension .exec. Avant d'exécuter un fichier .exec inconnu, utilisez la commande file pour confirmer son type réel.
Sécurité et sûreté
RISQUE : HIGHUn exécutable est le type de fichier le plus risqué à lancer depuis une source non fiable : un .exec s'exécute avec vos privilèges utilisateur et peut lire, modifier, chiffrer ou supprimer vos fichiers et télécharger du code supplémentaire. Avant d'en lancer un que vous n'avez pas construit : lancez « file file.exec » pour voir de quoi il s'agit, et s'il s'agit d'un script texte, lisez-le d'abord. Sur macOS, Gatekeeper bloquera par défaut les binaires non signés/non notariés - cet avertissement est là pour votre protection. Ne faites jamais aveuglément un « chmod +x » pour lancer un fichier provenant d'un forum, d'un e-mail ou d'un téléchargement aléatoire. L'extension « .exec » ne confère aucune sécurité ; faites confiance à la source, pas au suffixe.
Détails du format
en bref- Marqueur d'exportation Application/IDE - Certains outils de construction et applications nomment leur artefact exécutable produit *.exec purement comme étiquette ; le type réel sous-jacent reste ELF/Mach-O/script.
Programmes qui ouvrent les fichiers EXEC
Détails techniques
spécifications approfondies| Encodage | Binaire (code compilé ELF ou Mach-O) ou texte brut (script interpréteur avec shebang) |
| Format binaire sur Linux/Unix | ELF (Executable and Linkable Format) - octets magiques 7F 45 4C 46 (« \x7FELF ») à l'offset 0 |
| Format binaire sur macOS | Mach-O - magie FE ED FA CE (32 bits) ou FE ED FA CF (64 bits) ; les binaires fat/universels utilisent CA FE BA BE |
| Marqueur de script | Shebang (#!) à l'offset d'octet 0 suivi du chemin de l'interpréteur, ex: #!/usr/bin/env python3 - analysé par le noyau avant l'exécution |
| Type MIME | application/x-executable (binaire Linux) ; application/x-mach-binary (macOS) ; application/x-shellscript (script texte) |
| Contrôle d'exécution | Bits de permission Unix - le bit exécutable (x) doit être activé ; l'extension .exec elle-même est ignorée par le noyau |
| Plateforme cible | Linux, macOS, variantes BSD (FreeBSD, OpenBSD, NetBSD), Solaris, et autres systèmes de type Unix |
| Ordre des octets | Little-endian pour x86-64 et ARM (matériel moderne) ; big-endian sur les anciennes plateformes Unix RISC comme SPARC et MIPS |
| Taille de fichier typique | 1 Ko (script shell minimal) à des dizaines de Mo (binaire compilé lié statiquement) |
| Encodage de l'architecture | Intégré dans le champ e_machine de l'ELF (x86-64 = 0x3E, ARM64 = 0xB7, RISC-V = 0xF3) ou les champs cputype/cpusubtype de Mach-O |
| Intégrité du code | Pas de somme de contrôle inhérente au format ; macOS prend en charge la signature de code via l'outil codesign ; Linux s'appuie sur des signatures GPG externes ou de gestionnaires de paquets |
| Compression | Non intégrée au format ; les binaires peuvent être compressés avec UPX ou encapsulés dans un script shell auto-extractible |
| Convention d'extension | Le suffixe .exec est informel - la plupart des exécutables Unix natifs ne portent aucune extension ; l'OS utilise les octets magiques pour déterminer comment lancer le fichier |
| Équivalent Windows | .exe (format PE/COFF) - l'extension est obligatoire sur Windows, contrairement à .exec qui est facultatif sur Unix |
| Commande d'inspection | La commande file identifie le type de binaire réel (ELF, Mach-O ou interpréteur de script) indépendamment de l'extension .exec |
| Publié | N/A (extension-less executables predate the .exec label; concept from early Unix) |
| Dernière version | N/A - .exec is a convention, not a versioned format |
| Spécification | refspecs.linuxfoundation.org |
Conversions EXEC
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers EXEC.