Prometheus e TSSChecker sviluppi recenti di cui dovresti essere a conoscenza

È stato un periodo intenso per la suite di strumenti di tihmstar dall'uscita di Prometeo durante la convention 33c3. Sia TSSChecker che Prometheus hanno riscontrato alcuni problemi, nonché aggiornamenti nel periodo intermedio, e questo articolo ti aggiornerà con il loro stato attuale.

Prometeo

Subito dopo il suo rilascio, sono stati segnalati vari problemi con la sezione "futurerestore" dello strumento Prometheus, che gestisce l'effettivo processo di upgrade / downgrade.

Errori del server

I più comuni erano segnalazioni di errori del server durante il tentativo di utilizzo dello strumento. Ciò ha portato alcuni a sostenere (erroneamente) che Apple aveva portato i suoi server TSS completamente offline. Anche se non è del tutto chiaro se ci sia stata una manutenzione simultanea del server o se fosse qualcosa a che fare con la codifica dello strumento tihmstar che ha causato l'errore, questo sembra essere stato risolto nelle build più recenti.

Errori di Segfault

Una seconda occorrenza comune era rappresentata da errori "segfault", causati da macOS che non disponeva del supporto OpenSSL necessario. Ciò è stato risolto anche nelle build più recenti di Prometeo, chiarendo la maggior parte degli utilizzi non riusciti dello strumento sperimentato dagli utenti. Sono ora in corso segnalazioni di utilizzi riusciti dello strumento "futurerestore", tuttavia, con questi test più ampi è arrivata la scoperta di un problema ancora peggiore ...

Touch ID su iOS 10.1.1

Poiché "futurerestore" non esegue il downgrade di SEP + baseband come parte del suo ripristino (questo non è possibile senza un exploit SEP), invece li sostituisce con una versione attualmente firmata. Allo stato attuale, ciò significa che iOS 10.2 SEP + baseband vengono utilizzati per il ripristino su iOS 10.1.1. Si pensava che le due versioni fossero abbastanza vicine da non causare problemi, tuttavia è diventato chiaro poiché più persone hanno provato che mentre il downgrade / upgrade a iOS 10.1.1 si completa con "futurerestore", lascia i servizi Touch ID non funzionano.

Questo sarà senza dubbio un punto di rottura per la maggior parte dei potenziali utenti dello strumento, poiché Touch ID (e forse anche altri servizi correlati come Apple Pay, non ancora confermati) sono funzionalità essenziali per la maggior parte.

È interessante notare che Luca Todesco ha commentato che una soluzione alternativa per questo problema dovrebbe essere possibile, ma non ci sono ulteriori informazioni oltre a questo. Se sia veramente possibile, se ha iniziato a lavorarci o se al momento non ha intenzione di farlo, non si sa per il momento. Da parte sua, tihmstar ha affermato che non lavorerà sul problema.

Nel complesso, un inizio accidentato per Prometeo, ma ora si può dire che lo strumento funziona sicuramente in linea di principio, avendo corretto i suoi errori fatali. Tuttavia, con la situazione Touch ID così com'è (non un bug ma una limitazione intrinseca del metodo di downgrade), non è chiaro quanti utenti saranno disposti a usarlo.

TSSChecker

L'altro strumento di Tihmstar, TSSChecker, utilizzato per salvare APTickets nel suo formato proprietario .shsh2 per l'uso con Prometheus, ha anche avuto due seri ostacoli negli ultimi giorni.

Problema 1: incompatibilità di iPhone 7 / Plus

Questa settimana è stata fatta la scoperta che iPhone 7 e iPhone 7 Plus utilizzano un metodo diverso rispetto ad altri dispositivi a 64 bit durante la creazione di generatori per i suoi nonci. Sebbene questo problema non influisca su nessun altro dispositivo, significa che tutti i BLOB salvati con generatori per questi due dispositivi sono purtroppo non validi. Fino a quando tihmstar non riuscirà a capire la diversa relazione che Apple sta usando tra i suoi nonces e generatori, TSSChecker non sarà in grado di salvare BLOB con generatori su iP7 (+).

I BLOB salvati con un nonce specifico, e quindi senza generatore, potrebbero non essere interessati, tuttavia poiché l'iP7 (+) non è suscettibile al metodo di collisione del nonce di Prometeo, è dubbio che l'uso di questo tipo di BLOB sarà in termini di downgrade. Per ora, i BLOB iP7 (+) possono essere salvati con TSSChecker utilizzando un nonce composto da un set casuale di 32 byte, purché si utilizzi la versione più recente dello strumento. È improbabile che questi blob siano utilizzabili con Prometeo, anche se tihmstar ha detto che potrebbero ancora tornare utili con metodi diversi in un secondo momento.

Problema 2: BuildIdentities e BLOB non validi

Questo problema è leggermente più complicato da spiegare e non riguarderà tutti allo stesso modo. Si scopre che una modifica ai file IPSW in iOS 10 significa che molti dispositivi utilizzano lo stesso IPSW. Ciò significa che le informazioni relative a tutti i dispositivi (BuildIdentities) vengono salvate nel Build Manifest all'interno di un singolo IPSW. Dato che non è mai stato così, TSSChecker utilizzava semplicemente la prima BuildIdentity trovata e richiedeva un APTicket. Tuttavia, ora che ci sono molte BuildIdentities nell'IPSW, la prima voce potrebbe non essere stata quella corretta per il tuo dispositivo. Ciò significa, purtroppo, che se è stato selezionato BuildIdentity errato, l'APTicket generato da TSSChecker non era valido.

La versione più recente di TSSChecker ha corretto questo errore e queste modifiche sono anche incorporate nella versione online dello strumento 1Conan, TSSSaver. Tuttavia, cosa dovresti fare per i file .shsh2 che hai già salvato? Sono validi?

Se hai BLOB iOS 10.2, la cosa migliore da fare è semplicemente eliminarli e richiederne di nuovi con la versione più recente di TSSChecker o TSSSaver, poiché 10.2 è ancora firmato e puoi ottenerli facilmente. Questo sarà più veloce e più semplice rispetto alla verifica di quelli già salvati per quel particolare firmware.

Con i BLOB per 10.1.1 e precedenti, ovviamente non è possibile richiedere nuovi file .shsh2 ora poiché i firmware non sono firmati. In questo caso, l'unica opzione è sperare che i tuoi BLOB siano stati alcuni dei fortunati che hanno ottenuto la BuildIdentity corretta per la prima volta e, di conseguenza, un APTicket valido. Questo può essere testato usando “img4tool” di tihmstar. Le istruzioni su come farlo sono sul suo blog, ma metterò un how-to non appena il processo sarà abbastanza coinvolto.

Per ora, consiglio a chiunque abbia precedentemente salvato i BLOB .shsh2 per iOS 10.2 di salvarli nuovamente con il più recente TSSChecker / TSSSaver. Per i BLOB più vecchi, non eliminarli fino a quando non si è certi che siano danneggiati. Come una storia di speranza, ho controllato il mio e ho scoperto che sia i BLOB del mio iPhone 6 che quelli del mio iPhone SE erano corretti, tuttavia i BLOB del mio iPhone 5s non erano validi.

Buona fortuna per il tuo ri-salvataggio e verifica! Se decidi di verificare i tuoi BLOB esistenti con "img4tool", fammi sapere quali dispositivi hanno BLOB buoni / cattivi. Sarà importante vedere se si tratta sempre di dispositivi specifici o se è più complicato di così. Assicurati che in tutti i casi stai scaricando le versioni più recenti degli strumenti di tihmstar per assicurarti che gli stessi problemi non continuino a verificarsi.