D’ici mercredi, le hacker Comex devrait mettre à disposition le premier jailbreak de l’iPad 2. Pour trouver la faille ainsi que le moyen de l’exploiter il a fallu plusieurs mois de développement. Le hackeur explique, dans un TwitLonger, comment se passent les premières étapes du processus de jailbreak. Il s’agit surement d’un message pour montrer aux plus impatients que le travail est long et délicat. Dans son texte, il explique que la rapidité et la stabilité sont des facteurs très importants pour lui. A terme, il aimerait créer un nouveau type de jailbreak avec la possibilité de garder le jailbreak après une mise à jour. Voici le texte traduit en français (approximativement):

Si vous ne le saviez pas, l’approche du jailbreak utilisée depuis des années  – « réorganisation des données » de Cydia– implique de déplacer les plus gros dossiers de la petite partition « / » à la plus grande partition /var, puis ensuite de créer des liens symboliques à partir de l’original vers le nouvel emplacement. Ceux-ci assurent que lorsque de nouvelles données arriveront dans les chemins originaux, ils seront automatiquement replacés dans la partition /var, et ainsi libéreront de l’espace dans la partition /. Cependant, ce processus pose quelques problèmes, comme par exemple mettre une éternité à se faire lorsque vous jailbreakez (je suis un fanatique de la rapidité), requiert un redémarrage de l’appareil pour s’assurer qu’aucune application ou processus ne pointe vers les anciens chemins (idem : je veux un jailbreak qui ne requiert même pas un respring, mais cela apporte encore quelques soucis), et la sérieuse confusion du code de la sandbox dans le noyau (car chaque application possède son propre sandbox  avec dedans une liste de tous les fichiers autorisés pour l’application, mais qui après déplacement dans les partitions ne sont plus valides). Ces problèmes requirent d’être patchés.

Avec unionfs (qui était l’idée de Saurik à l’origine), de nouveaux fichiers sont crées dans la partition /var, et écrasent les fichiers correspondant dans la partition /. Ainsi, aucun fichier n’a besoin d’être déplacé, et aucun descripteur n’est invalidé, et je pense que le sandbox ne verra même pas ce qu’il se passe. Cela ouvre également les portes de la possibilité de mettre à jour le système sans pour autant supprimer les fichiers liés au jailbreak (mais peut-être que les mises à jours sans-fil de l’iOS 5 permettent déjà ça ? Je n’ai pas encore regardé).
Cela fait 1 an que je cherche à faire cela mais je n’ai jamais réussi à le faire fonctionner.
Ainsi, j’espère que je pourrai me débarrasser de tous ces crashs grâce à l’unionfs, que j’ai rendu compatible pour l’iPad 2 (mes copies du kernel de l’iPad 2 ne comportent pas les symboles. J’ai crée un petit « BinDiff-like tool » qui permet de copier des symboles à partir d’un kernel pour un autre appareil, mais cela n’est pas encore parfait) mais il reste encore des soucis de performance.