Manipulations sur le format Mach-O et applications concrètes sur les exécutables Apple

Magazine
Marque
MISC
Numéro
67
Mois de parution
mai 2013
Domaines


Résumé
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.

NeXT étant utilisé...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Recherchez efficacement des fichiers ou du texte avec find et grep

Magazine
Marque
Linux Pratique
HS n°
Numéro
49
Mois de parution
novembre 2020
Domaines
Résumé

Dans la vie de tous les jours, lorsque l'on perd un objet, on se retrouve la plupart du temps seul face à sa mémoire, sans personne pour vous indiquer où vous avez bien pu poser ces #$*!@& de clés ! Sous Linux, il existe des outils bien pratiques qui vous permettront de gagner un temps appréciable...

Installer et administrer un serveur d’impression CUPS

Magazine
Marque
Linux Pratique
Numéro
122
Mois de parution
novembre 2020
Domaines
Résumé

Lorsqu’on travaille sur un réseau ou en local, il est très pratique de pouvoir imprimer depuis son poste de travail en toute transparence. Qu’une imprimante soit directement connectée à un ordinateur ou bien soit partagée par un serveur dédié, l’utilisateur doit en effet être en mesure d’envoyer ses documents dans une file d’attente (spooler) qui sera en charge de traiter les impressions. Par le passé, c’était le serveur LPRng (via LPD) qui monopolisait l’impression sur les systèmes de type Unix. Mais l’arrivée de CUPS a changé la donne.

Corriger automatiquement vos dernières commandes shell

Magazine
Marque
Linux Pratique
Numéro
122
Mois de parution
novembre 2020
Domaines
Résumé

Qui n’a jamais eu envie d’insulter son terminal parce qu’il n’arrive pas à interpréter une commande contenant une faute de frappe évidente ? Lorsque vous oubliez de taper sudo au début d’une commande, votre terminal vous répond « erreur : vous ne pouvez effectuer cette opération qu’en mode administrateur. », n’avez-vous pas envie de lui répondre « Donc tu sais ce que je veux, débrouille-toi !  » ? Pas envie de corriger la commande, juste envie de taper « Merde » ou « Bordel » (ou « fuck » !). Cet exutoire est à portée de clavier avec The Fuck !

« Ben moi en général, je lui réponds “merde”. En principe ça colle avec tout. » Lionnel Astier, Kaamelott, Livre IV