Vous connaissez peut-être le format PE pour les systèmes Windows ou l'ELF pour la plupart des systèmes de type Unix ? Nous vous proposons une introduction au format d’exécutable pour les systèmes Apple : « Mach-O ». Cet article se veut être un tour d’horizon des méthodes permettant d'analyser et de manipuler ce format : de nombreuses actions sur un binaire Apple, sans avoir à en modifier son code, sont en effet possibles par ce biais.
1. Le format Mach-O
Cette première partie de l'article a pour but de décrire brièvement l'historique et les bases structurelles du format Mach-O, utilisé pour quasiment tous les exécutables Apple.
1.1 Description du format
Le format Mach-O (« Mach Object file ») a été développé par NeXT à la fin des années 1980 pour le projet de système d'exploitation NeXTSTEP. Ce dernier utilisait le micro noyau Mach développé dans les années 1980 à l'université américaine de Carnegie Mellon. NeXTSTEP était destiné à la base pour fonctionner sur des puces Motorola 68000 et évolua par la suite pour fonctionner sur des architectures x86.
OpenStep est une évolution de NeXTSTEP sortie en 1994 et utilisant aussi le format d’exécutable Mach-O. Cet événement sera d'ailleurs l'origine de la création du format FAT binaire (évoqué plus loin dans cet article) pour des applications pouvant être utilisées à la fois sur les architectures Motorola 68000 et x86.
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première