Mach-O — Format binaire macOS/iOS

Format macOS

Structure

Mach-O (Mach Object) est le format exécutable d'Apple : un header (magic 0xFEEDFACE/FEEDFACF), des load commands (segments, libs liées, point d'entrée) et des segments (__TEXT, __DATA). Peut être un fat binary (multi-architecture).

Analyse

# Infos générales
file binaire
otool -hV binaire        # header
otool -L binaire         # bibliothèques liées
otool -tV binaire        # désassemblage

# Outils dédiés
nm binaire               # symboles
codesign -dv binaire     # signature/entitlements

Spécificités

Vérifier la signature de code et les entitlements, repérer les load commands suspects, et gérer les fat binaries avec lipo -thin. Ghidra et Hopper supportent Mach-O nativement.