Prometheus et TSSChecker récents développements que vous devez connaître

Cela a été une période chargée pour la suite d'outils de tihmstar depuis la sortie de Prometheus lors de la convention 33c3. TSSChecker et Prometheus ont tous deux rencontré des problèmes, ainsi que des mises à jour dans l'intervalle, et cet article vous mettra à jour avec leurs statuts actuels.

Prométhée

Peu de temps après sa sortie, divers problèmes ont commencé à être signalés avec la section «futurerestore» de l'outil Prometheus, qui gère le processus de mise à niveau / rétrogradation proprement dit.

Erreurs de serveur

Les plus courants étaient des rapports d'erreurs de serveur lors de la tentative d'utilisation de l'outil. Cela a conduit certains à affirmer (à tort) qu'Apple avait complètement déconnecté ses serveurs TSS. Bien qu'il ne soit pas tout à fait clair s'il y a eu une maintenance simultanée du serveur ou si cela a quelque chose à voir avec le codage de l'outil de tihmstar qui a provoqué l'erreur, cela semble avoir été corrigé dans les versions les plus récentes..

Erreurs Segfault

Une deuxième occurrence courante était des erreurs «segfault», causées par macOS manquant le support OpenSSL requis. Cela a également été corrigé dans les versions les plus récentes de Prometheus, éliminant la majorité des utilisations échouées de l'outil que les utilisateurs avaient connues. On signale maintenant des utilisations réussies de l'outil «futurerestore», cependant, avec ces tests plus larges, la découverte d'un problème encore pire est survenue…

Touch ID sur iOS 10.1.1

Parce que «futurerestore» ne rétrograde pas la bande de base SEP + dans le cadre de sa restauration (ce n'est pas possible sans un exploit SEP), il les remplace à la place par une version actuellement signée. À l'heure actuelle, cela signifie que la bande de base iOS 10.2 SEP + est utilisée lors de la restauration vers iOS 10.1.1. On pensait que les deux versions étaient suffisamment proches pour que cela ne cause pas de problèmes, mais il est devenu clair que de plus en plus de personnes l'ont essayé. les services Touch ID non fonctionnels.

Ce sera sans aucun doute une rupture pour la plupart des utilisateurs potentiels de l'outil, car Touch ID (et éventuellement d'autres services connexes tels que Apple Pay, non encore confirmés) sont des fonctionnalités essentielles pour la plupart.

Il est intéressant de noter que Luca Todesco a déclaré qu'une solution de contournement pour ce problème devrait être possible, mais il n'y a pas d'autres informations au-delà. Que ce soit vraiment possible, qu'il ait commencé à y travailler ou qu'il ait même l'intention de le faire sont inconnus pour le moment. Pour sa part, tihmstar a déclaré qu'il ne travaillerait pas sur la question.

Dans l'ensemble, un début cahoteux pour Prometheus, mais on peut maintenant dire que l'outil fonctionne définitivement en principe, après avoir corrigé ses erreurs fatales. Cependant, avec la situation Touch ID telle qu'elle est (pas un bug mais une limitation inhérente à la méthode de rétrogradation), il n'est pas clair combien d'utilisateurs seront prêts à l'utiliser.

TSSChecker

L'autre outil de Tihmstar, TSSChecker, utilisé pour enregistrer APTickets dans son format propriétaire .shsh2 pour une utilisation avec Prometheus, a également rencontré deux obstacles majeurs ces derniers jours..

Problème 1: incompatibilité iPhone 7 / Plus

La découverte a été faite cette semaine que l'iPhone 7 et l'iPhone 7 Plus utilisent une méthode différente des autres appareils 64 bits lors de la création de générateurs pour ses nonces. Bien que ce problème n'affecte aucun autre appareil, cela signifie que tous les objets blob enregistrés avec des générateurs pour ces deux appareils ne sont malheureusement pas valides. Tant que tihmstar ne pourra pas comprendre la relation différente qu'Apple utilise entre ses nonces et ses générateurs, TSSChecker ne pourra pas enregistrer les blobs avec les générateurs sur iP7 (+).

Les blobs enregistrés avec un nonce spécifique, et donc sans générateur, peuvent ne pas être affectés, mais comme l'iP7 (+) n'est pas sensible à la méthode de collision nonce de Prometheus de toute façon, il est douteux de savoir à quoi ce type de blob sera destiné en termes de rétrogradations. Pour l'instant, les blobs iP7 (+) peuvent être enregistrés avec TSSChecker en utilisant un nonce composé d'un ensemble aléatoire de 32 octets, tant que vous utilisez la dernière version de l'outil. Il est peu probable que ces blobs soient utilisables avec Prometheus, bien que tihmstar ait déclaré qu'ils pourraient toujours être utiles avec différentes méthodes à une date ultérieure..

Problème 2: BuildIdentities et objets blob invalides

Ce problème est un peu plus compliqué à expliquer et n'affectera pas tout le monde de la même manière. Il s'avère qu'une modification des fichiers IPSW dans iOS 10 signifie que de nombreux appareils utilisent le même IPSW. Cela signifie que les informations relatives à tous les périphériques (BuildIdentities) sont enregistrées dans le manifeste de construction à l'intérieur d'un seul IPSW. Comme cela n'a jamais été le cas, TSSChecker a simplement pris la première BuildIdentity trouvée et demandé un APTicket pour cela. Cependant, maintenant qu'il existe de nombreuses BuildIdentities dans l'IPSW, la première entrée peut en fait ne pas être la bonne pour votre appareil. Cela signifie, malheureusement, que si la mauvaise BuildIdentity a été sélectionnée, l'APTicket qui a été généré par TSSChecker n'était pas valide..

La version la plus récente de TSSChecker a corrigé cette erreur, et ces modifications sont également intégrées à la version en ligne de l'outil 1Conan, TSSSaver. Cependant, que devez-vous faire à propos des fichiers .shsh2 que vous avez déjà enregistrés? Sont-ils valides?

Si vous avez des blobs iOS 10.2, la meilleure chose à faire est simplement de les jeter et d'en demander de nouveaux avec la dernière version de TSSChecker ou TSSSaver, car 10.2 est toujours signé et vous pouvez les obtenir facilement. Ce sera plus rapide et plus simple que de vérifier ceux que vous avez déjà enregistrés pour ce firmware particulier.

Avec les blobs pour 10.1.1 et les versions antérieures, vous ne pouvez évidemment pas demander de nouveaux fichiers .shsh2 maintenant car les firmwares ne sont pas signés. Dans ce cas, votre seule option est d'espérer que vos blobs ont été parmi les chanceux qui ont obtenu la bonne BuildIdentity la première fois, et par conséquent un APTicket valide. Cela peut être testé en utilisant «img4tool» de tihmstar. Les instructions pour le faire sont sur son blog, mais je mettrai en place un guide dès que le processus sera assez impliqué.

Pour l'instant, je recommande à quiconque ayant précédemment enregistré des blobs .shsh2 pour iOS 10.2 de les réenregistrer avec le dernier TSSChecker / TSSSaver. Pour les objets blob plus anciens, ne les supprimez pas tant que vous ne savez pas s'ils sont mauvais. Comme une histoire pleine d'espoir, j'ai vérifié la mienne et j'ai constaté que mes blobs iPhone 6 et iPhone SE étaient corrects, mais mes blobs iPhone 5s n'étaient pas valides.

Bonne chance avec votre ré-enregistrement et vérification! Si vous décidez de vérifier vos blobs existants avec «img4tool», faites-moi savoir quels appareils ont de bons / mauvais blobs. Il sera important de voir si ce sont toujours des appareils spécifiques, ou si c'est plus compliqué que ça. Assurez-vous que dans tous les cas, vous téléchargez les versions les plus récentes des outils de tihmstar pour éviter que les mêmes problèmes ne se reproduisent.