Das primär ausführbare Dateiformat unter MacOS ist das Mach-O-Dateiformat. Fast jedes Programm, das auf einem Mac-Rechner ausführt, ist eine Mach-O-Datei, einschließlich Applications, die vom App Store heruntergeladen werden. Heute lernen wir, wie diese Dateien organisiert sind.
Wie so viele andere Dateiformate fangen Mach-O-Dateien mit einem Header an. Auf diesem Header stehen verschiedene Informationen über die Datei, darunter die Art des Prozessors, die Anzahl von Load-Commands und die gesamte Größe der Load-Commands. Das Format dieses Headers ist typisch, außer einem Merkmal: Die Byte-Reihenfolge passt zu der des Rechners, unter dem die Datei ausführen soll. Das heißt, die Zahlen sind auf x86 / 0x86_64 Prozessoren Little-Endian und auf PowerPC Prozessoren Big-Endian. Dazu gehört auch die magische Zahl. Die Struktur des Headers für 32-Bit Architekturen in C-Syntax ist hier angeführt: