D'après mes connaissances, seule iBooks a le pouvoir de bloquer vraiment un appareil jailbreaké. Il le fait en écrivant un exécutable non signé à la racine du système. Si l'appareil est verrouillé (non jailbreaké), il ne peut pas s'exécuter. Mais si l'appareil est jailbreaké, l'exécutable est lancé et iBooks se ferme (plante). Mais il s'agit d'une appli propriétaire d'Apple et les logiciels tiers n'ont pas ce niveau de contrôle. En fait, toutes les apps tierces sont isolées et ne peuvent rien toucher en dehors de leur répertoire d'installation respectif.
Alors, que cherche-t-il ? Les rumeurs affirment qu'il cherche Cydia. Mais, encore une fois, cela nécessiterait que l'appli ait accès au système car Cydia n'est pas installé dans le répertoire d'installation de l'utilisateur (/private/var/mobile/Applications
) mais plutôt à la racine du système (/private/var/stash/Applications
). Et même si c'était vrai, cela voudrait dire que une fois le jailbreak effacé, cela devrait fonctionner comme prévu. Dans ce cas, cela ne semble pas être le cas (à moins qu'il n'ait sauvegardé l'état de l'appareil dans les préférences de l'appli).
Mais il y a encore un fichier auquel il peut accéder :
/private/var/mobile/Library/Preferences/com.saurik.cydia.plist
De plus, ce fichier est sauvegardé avec vos données même si l'appareil est jailbreaké ou non une fois qu'il a été créé.
Ou alors l'appli a simplement interrogé l'état de votre appareil jailbreaké et a sauvegardé ces informations, les conservant même après avoir retiré le jailbreak (comme mentionné ci-dessus). Cependant, si vous avez désinstallé et réinstallé l'appli après le jailbreak, alors vous n'avez pas à vous en faire. Mais si vous avez laissé des fichiers de préférences du jailbreak, vous devrez peut-être les effacer. Soit refaire le jailbreak et les supprimer via ssh, soit réinstaller iOS mais choisissez plutôt de ne pas configurer votre appareil à partir d'une sauvegarde, commencez à zéro.
Cela ne semble pas être la seule application qui vérifie le jailbreak. Time Warner Cable et Skype ont tous les deux une histoire à cet égard. Malheureusement, il n'y a toujours pas d'informations crédibles sur la manière dont ils y parviennent. Comme ils sont liés à des API restrictives comme toutes les apps tierces sur l'App Store, je ne pense pas que ce soit si sophistiqué.