Le format de fichier Mach-O (Mach Object) est un format de fichier utilisé par macOS, iOS, watchOS et tvOS pour les exécutables, le code objet, les bibliothèques partagées, le code chargé dynamiquement et les vidages mémoire (core dumps). Il constitue un remplacement pour l'ancien format "a.out" dérivé de NeXT/SunOS. Mach-O est un format flexible et extensible qui prend en charge plusieurs architectures et types d'objets au sein d'un seul fichier. Cela permet l'existence de "binaires gras" (fat binaries) capables de s'exécuter sur différentes architectures de processeur sans modification. Le format est structuré en un en-tête (header), des commandes de chargement (load commands) et des sections de données. L'en-tête contient des informations sur le type de fichier, l'architecture et le nombre de commandes de chargement. Les commandes de chargement spécifient comment le système d'exploitation doit charger et lier le fichier, y compris des informations sur les segments, les sections, les symboles et les bibliothèques dynamiques. Les sections de données contiennent le code et les données réels du programme. Les fichiers Mach-O sont essentiels pour l'exécution des applications et des logiciels système sur les plateformes Apple.