Dans ce post je pars du principe que vous avez un minimum de connaissances avec les firmwares d’iOS qui sont au format ipsw ainsi que leurs composants (dmg et img3) pour les firmwares des appareils 32 bits.
Les clés des fimwares pour les appareils ayant une architecture 64 bits n’ont pas encore été relachées donc mon programme qui dépend de xpwn ne fonctionnera pas tant que je ne l’aurais pas mis à jour.

###Compilation et installation de Xpwn

ATTENTION : La partie installation concerne uniquement les systèmes GNU/Linux, je n’ai pas encore écris de script permettant d’automatiser l’installation pour Mac OS X.

Tout d’abord veuillez cloner le projet Decrypt0r grâce à cette commande : git clone https://github.com/matteyeux/Decrypt0r.git

Pour automatiser la compilation de Xpwn sur Linux j’ai ajouté un script build.sh que vous executerez en tant qu’utilisateur root.
Si tout se passe bien vous aurez un nouveau dossier nommé Xpwn-0.5.8-Linux à la racine de votre compte root et les binaires auront été copié dans /usr/local/bin/ pour que vous puissiez les executer dans n’importe quel dossier. Très important pour Decrypt0r.

Encore une fois, utilisateurs de Windows je vous ai simplifié la vie, vous avez directement accès à l’executable sur mon repo github. Par contre j’ai aucune idée de si ça marche ou pas. Ayant compilé le tout avec gcc pour Cygwin il vous manquera peut être des libs, à vous de faire remonter les bugs.

###Compilation et installation de Decrypt0r

Maintenant que Xpwn a été compilé et installé, il ne reste plus qu’à s’occuper de Decrypt0r!! Comme avec easymobiledevice dans mon post précédent Il vous suffit de faire un make pour compiler :

 User$  make
Building Decrypt0r for Linux...
Sucessfully built Decrypt0r !

La compilation de Decrypt0r a été réussie, vous pouvez donc l’executer : ./decrypt0r

Which file you want to decrypt ?
1) Root Filesystem
2) Ramdisk
3) IMG3 File
4) DFU File
5) Print manifest
Command :

Vous choisissez le composant que vous souhaitez décrypter : par exemple le Kernelcache vous entrer le numéro correspondant à celui-ci, c’est-à-dire le 3, car c’est un fichier IMG3.

Decompress firmware ?
1) YES
2) NO
Enter the IMG3 filename : kernelcache.release.n49
Enter the key for kernelcache.release.n49: 8fa7011a627213e7bce43e21646faa251446f70fdc3aabadc0e317fa8f431c5d
Enter the key IV for kernelcache.release.n49: 843e560e2378c80b23e50b5204a6306e

Le programme va utiliser xpwn pour decrypter le kernelcache que vous pourrez ensuite ouvrir dans IDA par exemple.

J’ai pris l’exemple avec un fichier de type IMG3, mais ça ne diffère pas des types DMG, que vous pourrez ouvrir avec TransMac sur Windows par exemple.

Pour ce programme j’ai pris exemple sur prototype nommé Liberati0n par @Dev__Jam qui avait commencé en batch pour Windows, j’ai donc porté le tout sur Windows, OS X et Linux.

Pour plus d’informations, n’hésitez pas à me contacter sur Twitter : @matteyeux.