1. Lexique corporate
1.1 Mach-O
Les binaires Apple sont des fichiers au format Mach-O [LEX1]. Les binaires universels (FAT) regroupent plusieurs fichiers Mach-O, un par architecture, dans un conteneur, par exemple lsock pour OS X et iOS [LEX2] :
$ file lsock
lsock: Mach-O universal binary with 2 architectures
lsock (for architecture x86_64): Mach-O 64-bit executable x86_64
lsock (for architecture armv7): Mach-O executable arm
L’en-tête du fichier définit l’architecture, le type (application, extension, objet), le nombre et la taille des commandes de chargement (Load Commands). Ces commandes définissent les emplacements et les tailles, brutes et relatives, et le niveau de protection en mémoire (lecture, écriture, exécution) des segments. Elles indiquent également les symboles, les bibliothèques chargées dynamiquement, ou encore le point d’entrée du binaire (EIP dans LC_UNIXTHREAD). La partie des données contient les segments et leurs sections, ainsi que la signature de...
