Desenvolvimentos recentes do Prometheus e do TSSChecker dos quais você deve estar ciente

Tem sido um período movimentado para o conjunto de ferramentas da tihmstar desde o lançamento do Prometheus durante a convenção 33c3. O TSSChecker e o Prometheus tiveram alguns problemas, além de atualizações no período intermediário, e este artigo o atualiza com seus status atuais.

Prometeu

Logo após seu lançamento, vários problemas começaram a ser relatados na seção "futurerestore" da ferramenta Prometheus, que lida com o processo real de atualização / desatualização.

Erros no servidor

Os mais comuns eram relatórios de erros do servidor ao tentar usar a ferramenta. Isso levou alguns a afirmar (incorretamente) que a Apple havia colocado seus servidores TSS completamente offline. Embora não esteja totalmente claro se houve alguma manutenção simultânea do servidor ou se havia algo a ver com a codificação da ferramenta tihmstar que causou o erro, isso parece ter sido corrigido nas versões mais recentes.

Erros de Segfault

Uma segunda ocorrência comum foram os erros "segfault", causados ​​pelo macOS sem o suporte necessário ao OpenSSL. Isso também foi corrigido nas versões mais recentes do Prometheus, esclarecendo a maioria dos usos com falha da ferramenta que os usuários experimentaram. Agora, são vistos relatórios de usos bem-sucedidos da ferramenta "futurerestore", no entanto, com esse teste mais amplo, chegou a descoberta de um problema ainda pior ...

Touch ID no iOS 10.1.1

Como o “futurerestore” não faz o downgrade da banda base do SEP + como parte de sua restauração (isso não é possível sem uma exploração do SEP), ele os substitui por uma versão atualmente assinada. No momento, isso significa que a banda base do iOS 10.2 SEP + é usada ao restaurar para o iOS 10.1.1. Pensou-se que as duas versões eram próximas o suficiente para que isso não causasse problemas, no entanto, ficou claro à medida que mais pessoas tentaram fazer isso, enquanto o downgrade / atualização para o iOS 10.1.1 é completo com o "futurerestore" os serviços Touch ID não funcionais.

Isso sem dúvida será um fator decisivo para a maioria dos possíveis usuários da ferramenta, pois o Touch ID (e possivelmente outros serviços relacionados também, como o Apple Pay, ainda não confirmados) são recursos essenciais para a maioria dos usuários..

Curiosamente, Luca Todesco comentou que uma solução alternativa para esse problema deve ser possível, mas não há mais informações além disso. Se é realmente possível, se ele começou a trabalhar nisso, ou se ele pretende mesmo, é desconhecido no momento. Por seu lado, tihmstar disse que não estará trabalhando na questão.

No geral, um começo instável para Prometheus, mas agora pode-se dizer que a ferramenta definitivamente funciona em princípio, tendo seus erros fatais corrigidos. No entanto, com a situação do Touch ID como está (não é um bug, mas uma limitação inerente ao método de downgrade), não está claro quantos usuários estarão dispostos a usá-lo.

TSSChecker

A outra ferramenta TSSChecker de Tihmstar, usada para salvar APTickets em seu formato .shsh2 proprietário para uso com Prometheus, também teve dois obstáculos sérios nos últimos dias..

Problema 1: incompatibilidade do iPhone 7 / Plus

A descoberta foi feita nesta semana que o iPhone 7 e o iPhone 7 Plus usam um método diferente de outros dispositivos de 64 bits ao criar geradores para seus não-conformidades. Embora esse problema não afete nenhum outro dispositivo, isso significa que todos os blobs salvos com geradores para esses dois dispositivos são infelizmente inválidos. Até que a tihmstar possa descobrir o relacionamento diferente que a Apple está usando entre seus nonces e geradores, o TSSChecker não poderá salvar blobs com geradores no iP7 (+).

Os blobs salvos com um nonce específico e, portanto, sem gerador, podem não ser afetados. No entanto, como o iP7 (+) não é suscetível ao método de colisão nonce de Prometheus, é duvidoso que uso esse tipo de blob será em termos de rebaixamentos. Por enquanto, os blobs do iP7 (+) podem ser salvos com o TSSChecker usando um nonce composto por um conjunto aleatório de 32 bytes, desde que você use a versão mais recente da ferramenta. É improvável que esses blobs sejam utilizáveis ​​com o Prometheus, embora a tihmstar tenha dito que eles ainda podem ser úteis com métodos diferentes posteriormente.

Problema 2: BuildIdentities e blobs inválidos

Esse problema é um pouco mais complicado de explicar e não afetará todos igualmente. Acontece que uma alteração nos arquivos IPSW no iOS 10 significa que muitos dispositivos usam o mesmo IPSW. Isso significa que as informações pertencentes a todos os dispositivos (BuildIdentities) são salvas no manifesto de compilação em um único IPSW. Como isso nunca acontecia, o TSSChecker simplesmente pegava a primeira BuildIdentity encontrada e solicitava um APTicket para isso. No entanto, agora que existem muitas BuildIdentities no IPSW, a primeira entrada pode não ter sido de fato a correta para o seu dispositivo. Infelizmente, isso significa que, se o BuildIdentity errado for selecionado, o APTicket gerado pelo TSSChecker será inválido..

A versão mais recente do TSSChecker corrigiu esse erro e essas alterações também são incorporadas à versão online da ferramenta 1Conan, TSSSaver. No entanto, o que você deve fazer com os arquivos .shsh2 que você já salvou? Eles são válidos?

Se você possui blobs do iOS 10.2, a melhor coisa a fazer é lixeira e solicitar novos com a versão mais recente do TSSChecker ou TSSSaver, pois o 10.2 ainda está assinado e você pode obtê-los facilmente. Isso será mais rápido e mais simples do que verificar os que você já salvou para esse firmware específico.

Com os blobs da versão 10.1.1 e anterior, obviamente você não pode solicitar novos arquivos .shsh2 agora, pois os firmwares não estão assinados. Nesse caso, sua única opção é esperar que seus blobs tenham sido alguns dos sortudos que obtiveram a BuildIdentity correta da primeira vez e, consequentemente, um APTicket válido. Isso pode ser testado usando o “img4tool” da tihmstar. As instruções de como fazê-lo estão no blog dele, mas vou apresentar um tutorial assim que o processo estiver bastante envolvido.

Por enquanto, recomendo que qualquer pessoa que já tenha salvo blobs .shsh2 para iOS 10.2 os salve novamente com o TSSChecker / TSSSaver mais recente. Para blobs mais antigos, não os exclua até ter certeza de que eles são ruins. Como uma história de esperança, verifiquei a minha e descobri que os blobs do meu iPhone 6 e do iPhone SE estavam corretos, mas os blobs do iPhone 5s eram inválidos..

Boa sorte com sua nova economia e verificação! Se você decidir verificar seus blobs existentes com "img4tool", informe-me sobre quais dispositivos possuem blobs bons / ruins. Será importante verificar se há sempre dispositivos específicos ou se é mais complicado que isso. Verifique se, em todos os casos, você está baixando as versões mais recentes das ferramentas do tihmstar para garantir que os mesmos problemas não continuem a ocorrer.