Décryptage d’une application iOS

Etant donné qu’Apple chiffre les applications disponibles sur l’AppStore grâce à leur système de chiffrement ‘FairPlay’, il est impossible de décompiler une application dans l’état, pour ce faire nous allons devoir déchiffrer le binaire.

Pour commencer il me faut un appareil iOS jailbreaké, j’y installe l’application que je souhaite analyser (tout simplement en passant pa l’AppStore), dans cet exemple j’utiliserai l’application ‘2048’.

J’installe ensuite OpenSSH depuis Cydia pour me permettre de récupérer les fichiers de mon iPhone sur mon ordinateur. Puis je me connecte à mon iPhone en SSH (le mot de passe par défaut est ‘alpine’ et je vous conseille vivement de le changer). J’utilise Omnistat pour trouver rapidement l’adresse IP de mon iPhone.

 

Capture-d’écran-2015-10-12-à-12.50.52Une fois connecté en SSH, je recherche l’endroit ou est installée mon application et je télécharge le binaire sur mon ordinateur avec ‘scp’.

 

Capture-d’écran-2015-10-12-à-12.10.16Ensuite je vérifie que le binaire est bien chiffré avec l’utilitaire ‘otool’ (je vérifie l’architecture arm64 car j’utilise un iPhone avec une architecture 64bits).

 

Capture-d’écran-2015-10-12-à-12.22.04Si le binaire est chiffré vous devez voir que le cryptid est égal 1, si il est égal à 0, il n’est pas chiffré et vous n’avez donc rien à faire avant de pouvoir l’analyser.

Ici le binaire est bien chiffré, pour le déchiffrer je vais utiliser l’outil Clutch2 que j’installe sur mon iPhone depuis Cydia. Je me reconnecte ensuite à mon iPhone en SSH pour lancer l’utilitaire Clutch2 et déchiffrer l’application (il est aussi possible de le faire avec gdb mais Clutch2 vous simplifiera la tâche). Par ailleurs Clutch2 s’occupe aussi de désactiver l’ASLR pour vous.

 

Capture-d’écran-2015-10-12-à-12.59.37Je copie ensuite l’ipa déchiffrée sur mon ordinateur et je vérifie l’état du cryptid

 

Capture-d’écran-2015-10-12-à-13.27.37Voila le binaire est maintenant non chiffré et nous pouvons utiliser des outils de décompilation comme Hopper, IDA ou encore class-dump pour étudier son fonctionnement. L’utilisation de ces outils est détaillée dans mon article sur la décompilation d’une application iOS.

2 réflexions au sujet de « Décryptage d’une application iOS »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *