Swizzling et sécurité...

MalaMala Membre, Modérateur
juillet 2007 modifié dans Objective-C, Swift, C, C++ #1
J'avais déjà  posé la question lors d'un post de Chacha (il y a un petit moment déjà . Voir ici) sur le Swizzling en Objective-C.

Pour ceux qui ne connaissent pas, en fait Obj-C permet de remplacer des méthodes par d'autres à  l'exécution. C'est par exemple utilisé pour les catégories pour remplacer une méthode existante (c'est ni plus ni moins que de la surcharge dynamique) ou non.

C'est très puissant, oui mais voilà  les capacités d'introspection d'obj-c sont telles que pour peu de disposer d'un point d'entrée dans une appli (ex: une gestion de plugins) rien n'empêche de détourner le fonctionnement de toute classe.

Je me suis ainsi "amusé" a tester la chose sur le framework SSCrypto qui permet comme son nom le sous-entend de crypter des infos. J'ai ainsi dérivé l'ensemble des méthodes pour tracer tous les paramètres (donc les clés de cryptage) avant de rappeler les méthodes d'origine comme si de rien n'était.  :P

Donc méfiance. C'est puissant mais cela peut s'avérer dangereux.  >:D

Réponses

Connectez-vous ou Inscrivez-vous pour répondre.