Novo na cena? Entenda os conceitos básicos

Postado em abr 20, 2010 nas categorias Blog, Destaque, iPhone

Novo na cena? Entenda os conceitos básicos

Todo mundo passa por isso um dia: chegamos em casa com um aparelho novo, sabemos que existem umas coisas como jailbreak e unlock, não sabemos exatamente pra que funciona cada um, nem suas vantagens e muito menos o que fazer. O objetivo deste artigo é familiarizar os novos usuários com termos que serão recorrentes a partir de agora.

Firmware:

O firmware do aparelho é um pacote que contém todas as informações necessárias para o seu funcionamento. Contém dados essencias, como drivers, iPhone OS, atualizações de baseband, etc.

Figura 1: ícone do arquivo de firmware, com extensão .ipsw

Baseband:

A Baseband é uma placa no interior do iPhone (não existe Baseband nos iPods touch) que é responsável por toda a comunicação que o Software do iPhone precise fazer com a antena do aparelho. Ela é usada, por exemplo, para ligar o iPhone a torre de celulares da sua operadora, um processo que exige a utilização da antena do aparelho. O iPhone 3G, por exemplo, tem como Baseband o chip X-Gold 608. O unlock (desbloqueio) atua na Baseband.

Figura 2: baseband processor encontrado no iPhone 3G e iPhone 3GS

Firmware versus Baseband:

Na maioria das vezes que a Apple libera um novo update de firmware, o pacote, que vem compactado em um arquivo de extensão IPSW, traz também a atualização do baseband. Como o desbloqueio do iPhone só funciona com algumas poucas versões do baseband, normalmente utilizamos um programa que monta um firmware customizado, sem a atualização do baseband incluso. Um exemplo é o PwnageTool, programa do iPhone Dev Team que pega o firmware original da Apple e injeta os códigos de jailbreak e remove a atualização do baseband.

Figura 3: Opção do PwnageTool de remover a atualização do baseband ao atualizar o firmware

Jailbreak:

Quando comprei meu iPod touch de primeira geração, ele estava na primeira versão do firmware, 1.1.1. Na época, jailbreak era algo super simples, bastava entrar em um site pelo Safari (jailbreakme.com) e aplicar um patch que utilizava um exploit através de um arquivo de imagem. De lá pra cá, muita coisa mudou, outras gerações foram lançadas, novos hackers entraram na cena, mas o objetivo continua o mesmo: jailbreak e unlock.

Figura 4: Página da web que fazia o jailbreak na versão 1.1.1 do firmware

O que seria o jailbreak? Analisando a palavra ao pé da letra, ela chega ao português como algo perto de “fuga da prisão”, referência direta ao fato da Apple bloquear diversos APIs para os desenvolvedores utilizarem em seus aplicativos. Quando o primeiro jailbreak surgiu, o SDK nem tinha sido lançado. A App Store não existia nem como rumor. Nessa época, quem comprava um iPod touch ou iPhone ficava limitado aos aplicativos nativos do iPhone OS 1.x ou aos WebApps, acessados via Safari.

Figura 5: Aplicativos disponíveis no iPhone OS 1.0.1

Cansados dessas limitações e sabendo das possibilidades dos aparelhos, hackers se juntaram para fazer o primeiro jailbreak, que, de forma simples, é o processo de aplicação de um código não autorizado pela Apple na partição de boot do aparelho, dando permissão de root (ou administrador) ao usuário para total acesso ao sistema. Para o usuário final, eu e você, ao fazer o jailbreak na versão 1.x, aparecia um ícone novo no Springboard (desktop do iPhone/iPod) chamado Installer. Através do Installer era possível instalar aplicativos nativos, mesmo sem a existência da App Store.

Figura 6: Springboard do iPhone 1.1.1, com jailbreak e Installer.app instalado

Figura 7: Installer.app em funcionamento.

A partir da versão 2.x do firmware, o Installer foi perdendo espaço para o recém chegado Cydia. Desenvolvido pelo Jay Freeman (Saurik), o Cydia utilizava um novo formato de instalação e atualização, baseado nas instalações de pacote da distribuição do linux Debian. Para quem não sabe, assim como o Mac OS X, o iPhone OS também é desenvolvido em cima de um kernel baseado em Unix, então temos uma boa compatibilidade entre as plataformas.

Figura 8: Primeira versão do Cydia, disponibilizado para o firmware 2.0

Atualmente existem alguns instaladores de aplicativos não autorizados pela Apple, mas o principal e mais estável ainda é o Cydia.

Para ter o Cydia instalado no seu aparelho, é necessário utilizar uma ferramenta de jailbreak. Para isso, é necessário saber o modelo do seu aparelho e a versão do seu firmware, pois cada versão possui uma peculiaridade. Para visualizar a versão atual do seu firmware, entre em Ajustes – Geral – Sobre e veja o campo Versão. Na versão em Inglês, entre em Settings – General – About e veja o campo Version. Agora que já sabe a sua versão, pesquise a melhor forma de fazer o jailbreak.

Figura 9: versão do firmware utilizado atualmente no meu iPhone, 3.1.2

Dica importante: caso tenha interesse em jailbreak, nunca atualize o seu firmware antes de confirmar se existe um método para a versão mais nova.

Alguns softwares que fazem o jailbreak atualmente: PwnageTool, redsn0w e blackra1n.

Jailbreak Tethered x Untethered: entenda as diferenças

No lançamento do iPod touch 2G, a Apple bloqueou os acessos antigos à partição de boot do aparelho (iBoot). Com isso, os hackers perderam a brecha disponível no sistema para aplicar o exploit que permitia o jailbreak no aparelho. Os desenvolvedores encontraram uma forma de fazer o jailbreak, mas, para isso o aparelho precisava estar conectado a um computador toda vez que o iPod era reiniciado.

Então esse é o conceito de Tethered Jailbreak: seu aparelho pode ser patcheado normalmente com um exploit de jailbreak, porém ele depende de um computador para forçar o boot do firmware modificado. Neste caso, seu aparelho funcionará normalmente. Você pode botar ele normalmente em standby e todas as suas funções. A única intervenção será no momento que acabar a bateria ou quando você desligar o aparelho através do “slide to power off”. Ao ligar novamente, aparecerá na tela do aparelho o ícone do iTunes com o dock connector, pois o firmware instalado não foi reconhecido. Nesse momento, você liga o aparelho no computador e roda um software (como o blackra1n) para ele aplicar o patch e forçar o iPod/iPhone iniciar no modo jailbroken.


Figura 10: iPhone/iPod touch no recovery mode. No tethered jailbreak, é necessário plugar no computador e rodar um aplicativo como o blackra1n

O Untethered Jailbreak é o jailbreak completo, sem a necessidade de intervenção do usuário através de um outro dispositivo, pois a partição de boot foi patcheada de forma que o aparelho não perceba a diferença do firmware modificado.

Unlock:

O primeiro iPhone foi um sucesso mundial desde o dia em que Steve Jobs mostrou ao público pela primeira vez. Ao anunciar o iPhone de primeira geração, ele explicou que houve um grande investimento por parte da operadora americana AT&T para que o gadget funcionasse perfeitamente. Por isso, todos os iPhones lançados seriam vinculados à AT&T, inclusive obrigando os compradores a assinarem um contrato de dois anos com a operadora. O iPhone de primeira geração foi focado nos Estados Unidos, não existiam planos até então de uma expansão mundial.

Muitas pessoas ao redor do mundo (e outras que moravam nos Estados Unidos, mas que não queriam ter um vínculo com a AT&T) começaram a se mobilizar para encontrar uma forma de desbloquear o iPhone para funcionar em todas as operadoras. E conseguiram! Surgiu o primeiro unlock de iPhones, feito pelo BootNeuter, ferramenta que executava um exploit do baseband do aparelho, fazendo com que ele funcionasse em diversas operadoras.

Figura 11: BootNeuter, app responsável pelo desbloqueio do iPhone de primeira geração

Com a chegada do iPhone 3G, a Apple iniciou o projeto de exportação e lançamento em outros países. Muitos deles, diferente do Brasil, foram firmadas parcerias com exclusividade de apenas uma operadora, como acontecia nos Estados Unidos. Em poucos países, como Itália e Bulgária, o iPhone vinha desbloqueado de fábrica. Para contornar a situação, no dia 31 de dezembro de 2008 foi lançado a primeira versão do yellowsn0w, ferramenta do iPhone Dev Team responsável pela injeção de um exploit no baseband a fim de liberar o seu uso para todas as operadoras.

Figura 12: página de instalação do yellowsn0w pelo Cydia

Como a briga de gato e rato nunca termina, em praticamente todas as novas versões de firmware a Apple libera uma atualização do baseband, bloqueando a brecha antes existente para o funcionamento do exploit de desbloqueio. Essa é a razão pela qual devemos ter muito cuidado quando uma nova versão de firmware é liberada: caso o seu aparelho for bloqueado para a sua operadora e você depender de uma ferramenta de desbloqueio, nunca atualize o seu firmware sem antes consultar a possibilidade de jailbreak e unlock na versão.

Uma atualização no firmware sem a utilização de um firmware customizado (sem a atualização do baseband inclusa) pode fazer com que o seu iPhone se transforme em um iPod touch com câmera. Então tenha muito cuidado e preste muita atenção antes de fazer qualquer alteração no seu iPhone OS.

O que eu normalmente faço é atualizar o meu firmware através do PwnageTool, gerando um firmware customizado, sem a atualização do baseband. Como vocês podem ver na figura 13, o meu iPhone atualmente está na versão 3.1.2, mas, ao invés do baseband estar na versão equivalente ao firmware, que seria a 05.11.07, eu mantive ele na versão 04.26.08, originalmente do firmware 3.0.

Figura 13: Meu iPhone com firmware 3.1.2 e baseband encontrado no firmware 3.0. Usei o PwnageTool para remover a atualização de baseband do firmware 3.1.2

Figura 14: iPhone 3GS com firmware 3.1.2 e baseband encontrada no próprio firmware, 05.11.07

Para o firmware 3.x, existem 2 opções de unlock atualmente: o ultrasn0w e blacksn0w.

Utilizando e atualizando aparelhos jailbroken e desbloqueados

Para vocês terem uma idéia de como funciona isso no dia-a-dia, no meu aparelho, que veio na versão 2.0, apliquei a atualização do 2.2 com o lançamento do yellowsn0w, fiz o jailbreak utilizando o PwnageTool e instalei o yellowsn0w através do Cydia, conectado a uma rede wifi. Um detalhe: quando utilizamos o PwnageTool para criar um custom firmware, mantemos o baseband na versão anterior. Se eu tivesse feito a atualização do meu firware diretamente com o firmware 2.2 custom (modificado) pelo PwnageTool, eu atualizaria o sistema operacional, mas não atualizaria o baseband. Como o yellowsn0w tinha sido feito para funcionar com o baseband 02.28.00, encontrado no firmware da versão 2.2, não tive problemas em fazer a atualização com o firmware original da Apple.

Ao atualizar para versões mais novas, eu utilizei o PwnageTool para criar um custom firmware e restaurei o firmware do meu iPhone com o firmware custom diretamente, para não ganhar a atualização do baseband e, com isso, perder o funcionamento do meu iPhone, que é americano e bloqueado para funcionar apenas com a AT&T. Quando saiu o ultrasn0w, para o baseband 04.26.08, encontrado no firmware 3.0, eu atualizei normalmente o firmware pelo iTunes e usei o redsn0w para fazer o jailbreak. Com ele jailbroken, instalei o ultrans0w pelo Cydia.

Atualmente o meu firmware está na versão 3.1.2. Todas as atualizações e restores que fiz desde a versão 3.0, foi utilizando o PwnageTool e firmwares customizados, para não perder meu desbloqueio. Geohot lançou uma ferramenta para unlock do baseband 05.11.07, encontrado no firmware 3.1.2 original. Eu posso utilizar o firmware para fazer o update pelo iTunes e atualizar meu baseband. Nesse caso, existe um detalhe importante: a versão atual do firmware é 3.1.3. Se eu entrar no iTunes e atualizar, meu firmware irá para a versão 3.1.3 e o baseband para a versão 05.12.01, inabilitando o desbloqueio do meu telefone até algum hacker conseguir invadir a nova versão do baseband. Se conseguir. Se eu quiser manter ele com o firmware 05.11.07 e versão 3.1.3, tenho que baixar o firmware 3.1.2 na net e fazer o restore via iTunes pressionando Alt no Mac (shift no Windows) e selecionando o firmware. Depois, baixo o firmware 3.1.3 na net, aplico o PwnageTool para remover a atualização do baseband, gero o custom firmware e dou um restore desse custom firmware pelo iTunes.

Conclusão

Se o seu iPhone for brasileiro e você utilizar apenas a operadora em que ele está bloqueado, o processo de unlock é desnecessário, assim como os cuidados com as versões dos basebands. O único cuidado que você deve ter, nesse caso, é de não atualizar o firmware enquanto não saia uma versão do jailbreak para a versão mais nova do firmware. Os usuários que necessitam do unlock para o funcionamento do aparelho, devem ter muito cuidado com atualizações. Inicialmente porque não é possível efetuar o unlock via software com o firmware sem jailbreak. Segundo (e principalmente) porque se a atualização do firmware trouxer consigo uma atualização do baseband, é bem possível que você tenha que usar outro celular por um bom tempo, pois os exploits para basebands novos demoram muito mais tempo para sair do que os jailbreaks. E nunca saem para todas as versões, apenas em algumas.

Última edição: 22 de abril de 2010

Postado por Leo Borges. Outras postagens:

25 respostas para “Novo na cena? Entenda os conceitos básicos”