2017-04-02 6 views

Répondre

0

Les fonctions C du binaire sont des blocs de code identifiés chacun par une adresse virtuelle. Objective-c l'exécution est implémenté en C, alors quand un sélecteur est envoyé une fonction C est appelée à faire réellement:

id objc_msgSend(id self, SEL op, ...); 

Le premier argument est soit la classe ou de l'instance qui recevra le sélecteur. Deuxième est un selector aka char* nom. Puisque ces noms de sélecteurs sont explicitement passés en arguments, tout ceci doit être géré dans le binaire exécutable. Et c'est là que les classes de dumping entrent en jeu car il y a beaucoup plus d'informations comparées aux adresses virtuelles des fonctions C.