Das Mach-O (Mach Object) Dateiformat ist ein zentrales Dateiformat, das von den Betriebssystemen macOS, iOS, watchOS und tvOS verwendet wird. Es dient zur Speicherung von ausführbaren Dateien (Executables), Objektcode, Shared Libraries (gemeinsam genutzten Bibliotheken), dynamisch geladenem Code sowie Core Dumps (Speicherauszügen). Mach-O trat die Nachfolge des älteren, von NeXT/SunOS abgeleiteten "a.out"-Formats an. Es handelt sich um ein flexibles und erweiterbares Format, das die Unterstützung mehrerer Prozessorarchitekturen und verschiedener Objekttypen innerhalb einer einzigen Datei ermöglicht. Diese Eigenschaft erlaubt die Erstellung sogenannter "Fat Binaries" (Universal-Binärdateien), die auf unterschiedlichen Prozessorarchitekturen ohne jegliche Modifikation lauffähig sind. Die Struktur des Formats gliedert sich grundlegend in einen Header (Kopfzeile), Load Commands (Ladebefehle) und die eigentlichen Datenabschnitte (Data Sections). Der Header enthält essenzielle Metadaten wie den Dateityp, die Zielarchitektur und die Anzahl der folgenden Ladebefehle. Die Load Commands legen fest, wie das Betriebssystem die Datei laden und verknüpfen soll, einschließlich detaillierter Informationen über Segmente, Sektionen, Symbole und dynamische Bibliotheken. Die Datenabschnitte beinhalten den tatsächlichen Programmcode und die Daten. Mach-O-Dateien sind somit unverzichtbar für die Ausführung von Anwendungen und Systemsoftware auf Apple-Plattformen.