Social Icons

Mostrando postagens com marcador iPhone. Mostrar todas as postagens
Mostrando postagens com marcador iPhone. Mostrar todas as postagens

Entrevista do Linus Torvalds ao G1 no Brasil!

Entrevista do Famoso Linus Torvalds para o G1, quando ele veio para o Brasil em uma conferência de Open Source em Florianópolis, gosto muito dele, sabias palavras, pena que ele não curte Tablets... hehe mesmo eles rodando Android.

Programando para iOS no Ubuntu/Linux !



Eis aí a prova de que é possivel emular um ambiente para programar com SDK Oficial da Apple!
Estou tentando aqui em no meu Desk Também se obtiver algum sucesso farei um tutorial...

iDroid Guia Definitivo

idroid-mini-browser
Android é um sistema operacional mobile desenvolvido pelo Google™, baseado em Linux e totalmente aberto a desenvolvedores, concorrente direto ao iOS. Recentemente os desenvolvedores da Planetbeing iniciaram o desenvolvimento do iDroid, um projeto fantástico que permite portar o Android para o iPhone. Neste artigo vamos mostrar uma maneira bem didática de como instalar o iDroid no iPhone em dual-boot, permitindo você escolher qual sistema operacional deseja iniciar ao ligar o aparelho.



Introdução

O iDroid é um projeto recente e algumas funcionalidades ainda não foram portadas para o iPhone, mas já é possível desfrutar do sistema em seu aparelho com as funcionalidades básicas, veja abaixo como anda o status de desenvolvimento do projeto, comparando cada versão do iPhone.
 












Alguns Videos Demontrando Uso: 





Status do projeto

iPhone 2giPhone 3giPhone 3Gs
OpeniBoot - 100%OpeniBoot - 100%OpeniBoot - 10%
CPU - 100%CPU - 100%CPU - 100%
WLAN - 100%WLAN - 100%WLAN - 0%
Bluetooth - 0%Audio - 100%Baseband - 0%
Audio - 100% (c/ bugs)NAND (8GB) - 100%Bluetooth - 0%
NAND - (4GB) 100%NAND (16GB) - 100%NAND (16GB) - 0%
NAND - (8GB) 100%NOR - 0%Audio - 0%
NAND - (16GB) 100%Multi-Touch - 100%GPS - 0%
Baseband - 80% (c/ bugs)Baseband - 50%GPU - 0%
ALS - 50%Tri-Band HSDPA LNA - 0%Acelelerometro - 0%
Accelerometer - 100%GPS - 30%
PMU - 0%ALS - 80% (necessita driver)
GPU - 60% (sem aceleração)Accelerometer - 100%

Bluetooth - 80% (necessita driver)

PMU - 0%

GPU - 0%

UMTS Transceiver - 0%

WEDGE baseband - 0%

Tritium PA-duplexers - 0%
Como você pode notar, até o momento, o iDroid já está 70% funcional em iPhone’s 2g e 3g, ainda sendo portado para 3gs. Por este motivo nosso tutorial será focado para usuários do 2g/3g.

 

Requisitos


  • Apple iPhone 3g ou 2g (ainda não suporta o 3Gs)
  • O aparelho deverá estar ativado com Jailbreak (redsn0w, pwnagetool ou quickpwn), caso não esteja, siga nosso guia de jailbreak aqui.

 

 

Downloads necessários



 

Preparando nosso ambiente virtual Linux


O projeto iDroid pode ser manipulado em vários sistemas operacionais, mas escolhemos o Linux, por ser o mais versátil de todos, permitindo customizar e ter total controle do projeto. Não se preocupe se você não tem experiência com Linux, pois disponibilizamos uma imagem do Ubuntu 10.04 já preparada com todas dependências necessárias, vmware-tools instalado para facilitar a interação Windows X Linux, conexão de internet em bridge c/ ip válido para o roteador e um diretório comun tanto no Windows quanto na máquina virtual Linux para facilitar o compartilhamento de arquivos.
  1. Extraia e execute o VMware Wokstation 7.1.0, instale normalmente e ao final registre com o serial gerado pelo Keygen que está incluso no pacote que você fez download.
  2. Extraia todo conteúdo da imagem do Ubuntu Linux 10.04 em c:\vmware\ (se o diretório não existir, crie).
  3. Então apenas execute o VMware e abra a imagem, clicando em File/Open
  4. Selecione que você está utilizando uma cópia da imagem.
  5. Logue-se com a senha: infohelp.org
  6. Então, vá até o menu VM/Settings, em Options, vá até Settings/Shared folders e adicione um diretório qualquer de seu computador, será sua pasta de compartilhamento com o Linux, tudo que você jogar nesta pasta no Windows poderá ser acessado através do Linux (Atenção: este passo é importante).
  7. Então no Linux vá em Places/Computer/File System/mnt/hgfs e sua pasta estará lá, crie um atalho da mesma em seu Destkop.
  8. Agora configure a conexão com a internet. Para isto, vá até o menu VM/Settings e em Hardware/Network Adapter, selecione Bridged (marque o Replicate), desta forma o ip de sua placa de rede no Linux será na mesma range do DHCP de sua rede, ou seja, se você possuir um router ele atribuirá o IP de sua placa de rede virtual em sua máquina Linux.

  9. Verifique a conexão com a internet abrindo um Terminal e pingando o infohelp.org.
Pronto, você já tem seu ambiente de trabalho já pré-preparado para a manipulação de qualquer versão do iDroid.


O gerenciador de dual-boot

Para instalar o iDroid em seu iPhone, você deverá primeiro criar um dual-boot de seu aparelho, o que lhe permitirá escolher qual sistema será carregado ao ligar o aparelho. Para isso instalaremos o OpeniBoot.

A instalação do OpeniBoot é a mais complicada de todo o processo, pois será necesário compilar e interpretar alguns erros, de qualquer forma já deixamos a imagem com a maioria das dependências pré-configuradas.
Alguns pediram para deixarmos pré-compilado o OpeniBoot já pronto para instalação, mas optamos por ensinar o usuário a compilar, desta forma não limitamos na versão do aparelho, e será o mesmo processo para futuras atualizações do iDroid.

Métodos de instalação (didático)

Neste artigo vou apresentar dois métodos de instalação, o didático e o automático. recomendo executar e procurar entender primeiramente o método manual didático, pois dominando este método você será capaz de acompanhar todo o desenvolvimento do projeto e solucionar qualquer problema futuramente.
  • Método didático – Todos os processos estão descritos e são executados manualmente, e todos erros comuns e suas soluções são citadas no tutorial.
  • Método automatizado – Todo o procedimento de instalação será executado automaticamente através de um script, basta ter um iPhone já preparado com o OpeniBoot e um ambiente Linux já customizado com os passos acima.

Download da Git do OpeniBoot

Git é o pacote que contém o source do OpeniBoot. Apenas copie e cole os comandos em seu terminal no Linux.
  1. Primeiramente certifique-se de que está no ~/
    cd ~
  2. Então instale o gerenciador diretamente via apt:
    sudo apt-get install git-core
  3. Faça download da Git do OpeniBoot c/ o seguinte comando:
    sudo git clone git://github.com/planetbeing/iphonelinux.git
    cd iphonelinux/

Compilando o OpeniBoot pela primeira vez

Depois de uma vez compilado, você poderá instalar em qualquer aparelho com apenas um comando, porém na primeira vez terá um pouco de trabalho.
  1. Compile a ARM toolchain (aguarde um bom tempo pela compilação, um bom tempo mesmo. acredite)
    sudo toolchain/build-toolchain.sh make
    
  2. Solução para o erro: Failed to build newlib (stage: newlib_build)

    sudo apt-get install texinfo
    (Apenas instale o texinfo com o comando acima e reinicie a compilação do toolchain)
    

    Solução para o erro: Failed to create symlink (stage: makesymlink)

    sudo rm /usr/local/bin/arm-elf-cc
    (exclua o link simbólico e reinicie a compilação do toolchain)
    
  3. Compilando o OpeniBoot.
    Após a mensagem Toolchain install successful confirmando a instalação do toolchain você já poderá partir para a compilação do OpeniBoot.
  4. Primeiramente de um apt-get nas dependências:
    sudo apt-get install libusb-dev libreadline-dev libpng12-dev libusb-1.0-0-dev
    Nota: Caso esteja compilando em um sistema 64bits, você precisará dar um apt-get na libc6-dev-i386 e usaro comando export ARCH=x86_64 antes de prosseguir para os próximos passos.
    cd openiboot/
    • Para iPhone 3g use o comando:
      sudo PLATFORM=3G make openiboot.img3
    • iPhone 2g use:
      sudo PLATFORM=IPHONE make openiboot.img3

    Solução para o erro: expected specifier-qualifier-list before ‘AES_KEY’

    sudo apt-get install libssl-dev
  5. Compile tudo em client/:
    cd client
    sudo make all && cd ..
Concluído com sucesso, você já terá uma imagem do OpeniBoot preparada para a instalação em seu iPhone.

Carregando o console do OpeniBoot em seu iPhone

Chegou o momento de carregar e instalar o OpeniBoot. Primeiramente coloque seu aparelho em Simple Recovery mode.
Atenção: Simple recovery mode não é DFU mode, faça o seguinte:
  1. Desligue totalmente o aparelho e desplugue do computador;
  2. Antes de tudo, vá ao gerenciador de tarefas do Windows e finalize o iTunesHelper.exe para impedir que o iTunes carregue automaticamente ao plugar o iPhone no PC.
  3. Segure o botão Home do iPhone e então sem soltar, plugue o cabo USB ao computador;
  4. Aguarde o VMware detectar o iPhone com a seguinte tela:

    E o aparelho deverá mostrar esta tela:
  5. Então execute o comando:
    sudo client/loadibec openiboot.img3
    

    Solucionando o erro: open_device: unable to connect to device, your device must be in recovery mode.

    Isso significa que seu aparelho não está em Simple recovery mode, ou algum aplicativo está conectado mantendo o dispositivo ocupado, como o iTunes por exemplo, verifique se o aparelho está em simple recovery mode e se o iTunes está fechado e então continue os passos abaixo.
  6. Vá até o iPhone, pressione o botão Power 1x(uma vez), para selecionar o Console do OpeniBoot, deixe o cursor em cima dele.
  7. Agora no iPhone você deverá pressionar Home para executar o Console, e quando na tela do iPhone mostrar USB state change: 1 -> 1, você deverá deverá no Linux executar o comando abaixo, fique atento, pois o intervalo de tempo é bem curto.
    sudo client/oibc
    
    
Feito isso corretamente, você terá a tela acima no Linux sincronizada com seu iPhone, qualquer outra tela significa que não funcionou, repita o processo até conseguir o resultado.

Fazendo backup da NOR de seu iPhone

NOR é o flash chip responsável pela inicialização de seu aparelho, é ela que controla tudo que inicializa antes do sistema, inclusive os modos de restauração.
Fazer um backup é altamente recomendado, pois caso aconteça algum erro no meio do processo de instalação, ou acabe a bateria do aparelho, se você não possuir um backup da NOR, não conseguirá mais iniciar o iPhone nem em DFU restore mode, tornando muito complicado sua restauração.

Para efetuar o backup, apenas digite o seguinte comando abaixo em seu Terminal:
nor_read 0x09000000 0x0 1048576

Instalando o OpeniBoot definitivamente em sua NOR

Então digite o comando abaixo para concluir a instalação, o processo é rápido, mas antes de executar, ceritifique-se de que seu aparelho está com a bateria carregada totalmente:
Install
Ao concluir, deverá exibir a tela abaixo:

Então desligue o aparelho e ligue novamente, e você terá a tela do OpeniBoot sempre que o iPhone for desligado e ligado.
Para bootar o iOS, que é o sistema operacional padrão, apenas selecione usando Power e pressione Home para iniciar.

Extraindo e configurando os drivers de seu iPhone

Antes de prosseguir, necessitaremos os drivers de Wireless e Multitouch do iPhone. Os drivers de wireless já estão compilados e disponíveis para download no início do tutorial, porém os drivers do display Multitouch deverão ser extraídos de seu próprio aparelho, siga os passos abaixo:
Em seu iPhone, vá até o Cydia, settings e verifique se o Hacker mode está ativado.

Então, ainda no Cydia, busque e instale os seguintes apps:
  • Open SSH – Openssh para iPhone;
  • IOKit Tools – Conjunto de ferramentas Unix command-line para o iPhone;
  • VI improved – Editor VIm;
  • Core utils – Utilitários Unix para manipulação de shell e arquivos;
  • Apt 0.7 strict – Apt debian tools para iPhone.
  • Mobile terminal – terminal no iPhone que usaremos para dar input nos comandos.
Tendo todos esses aplicativos instalados em seu iPhone, você poderá prosseguir.

Drivers do Multitouch – Extraindo zephyr2_cal.bin, zephyr2_proxcal.bin e zephyr2.bin

Abra um novo Terminal em sua máquina Linux, e conecte via SSH no IP de seu iPhone usando o comando SSH 192.168.0.104, considerando que seu iPhone está na mesma rede que o computador e que o IP do iPhone seja 192.168.0.104, ao conectar digite Yes, para aceitar a nova chave SSL, caso ele pergunte, e logo após digite sua senha do root do OpenSSH, que por padrão é: alpine

Você poderá também executar os comandos abaixo diretamente de seu iPhone através do aplicativo Mobile Terminal. Lembrando que neste caso não terá como copiar e colar os comandos, terá que digitar usando o tecladinho do aparelho.
ssh root@192.168.0.104
su root
mkdir /private/var/firmware
cd /private/var/firmware
ioreg -l -w 0 | grep '"Calibration Data" =' | cut -d '<' -f2 | cut -d '>' -f1 | xxd -r -ps
- zephyr2_cal.bin (atenção, não quebre a linha, o - zephyr2... faz parte da linha de cima)
ioreg -l -w 0 | grep '"Calibration Data" =' | cut -d '<' -f2 | cut -d '>' -f1 | xxd -r -ps
- zephyr2_proxcal.bin (atenção, não quebre a linha, o - zephyr2... faz parte da linha de cima)
Isso irá gerar os arquivos zephyr2_cal.bin e zephyr2_proxcal.bin na pasta /firmware.
Agora vamos copiar o iPhone.mtprops para /var:
cd /private/var/stash/share.*
cd firmware/multitouch/
cp iPhone.mtprops /private/var
cp iPhone.mtprops /private/var/firmware
.. e finalmente gerar o zephyr2.bin:
cd /private/var/firmware
cat iPhone.mtprops | grep -B2 0x0049 | grep data | sed 's/^\t\t<data>//' | sed 's/<\/data>$//'
| base64 -d > zephyr2.bin (atenção, não faça a quebra de linha)
Faça uma cópia também de todo conteúdo da pasta /private/var/firmware de seu iphone para sua pasta ~/iphonelinux

scp /private/var/firmware/* root@192.168.0.104:~/iphonelinux
Neste momento você tem os drivers do multitouch devidamente instalados no diretório /firmware de seu iPhone.

Drivers da WLAN – Preparação

Pegue o arquivo SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL.zip e copie na pasta de compartilhamento entre Windows e Linux que você criou na preparação do Ambiente.
Vá até sua pasta de compartilhamento no Linux e mova este arquivo para dentro do diretório ~/iphonelinux
Então em sua outra janela de Terminal(não é a conectada ao iPhone) digite os comandos:
cd ~/iphonelinux
unzip SD-8686*.zip

Instalando a estrutura do Android

Antes de enviar o sistema operacional para o iPhone, devemos preparar a imagem, vamos montá-la em um diretório virtual e inserir os drivers que criamos dentro dela e montar novamente.
Então faça o mesmo que fez acima, copie o idroid-release-0.2-3g_rooted_with_sd_emulation_backlight_and_dns_fixed.zip que você fez download no início do tutorial para a a pasta de compartilhamento e acesse no Linux. Então mova-o para ~/iphonelinux, feito isso digite os comandos:
cd ~/iphonelinux
unzip idroid-relea*.zip
rm idroid-relea*.zip
gunzip android.img.zip
mv *.bin /var/firmware/

Montando o Android na máquina Linux

Montaremos o android.img.gz em um diretório e copiaremos os arquivos zephyr_aspeed.bin zephyr_main.bin sd8686_helper.bin sd8686.bin para o diretório /lib/firmware da imagem montada.
gunzip android.img.gz
sudo mkdir-p /mnt/android
sudo mount-o loop android.img /mnt/android
sudo cp zephyr_aspeed.bin zephyr_main.bin sd8686_helper.bin
sd8686.bin /mnt/android/lib/firmware/ (não existe quebra de linha aqui)
… e então desmonte e gzipe novamente a imagem:
sudo umount /mnt/android
gzip android.img
Agora faremos o mesmo com o system.img, nele copiaremos os arquivos zephyr_aspeed.bin zephyr_main.bin sd8686_helper.bin sd8686.bin para o diretório /mnt/android/etc/firmware/ da imagem montada.
sudo mkdir-p /mnt/android
sudo mount system.img-o loop /mnt/android
sudo cp zephyr_aspeed.bin zephyr_main.bin sd8686_helper.bin sd8686.bin
/mnt/android/etc/firmware/ (aqui também não existe quebra de linha)
sudo umount /mnt/android

Enviando o Android para o iPhone via SCP

Agora enviaremos todo o sistema do Android para o diretório /private/var do iPhone:
cd ~/iphonelinux
scp android.img.gz root@192.168.0.105:/private/var/
scp cache.img root@192.168.0.105:/private/var/
scp ramdisk.img root@192.168.0.105:/private/var/
scp system.img root@192.168.0.105:/private/var/
scp userdata.img root@192.168.0.105:/private/var/
scp zImage root@192.168.0.105:/private/var/
Vá até a outra janela de Terminal que está conectada ao iPhone via SSH e digite o seguinte comando:
chmod 755 ramdisk.img system.img userdata.img cache.img android.img.gz zImage
Neste momento você acaba de concluir a instalação do iDroid em seu iPhone.

Verificando a estrutura de arquivos

O Android no iPhone é basicamente o diretório /private/var/firmware contendo os drivers, e as imagens na root da /private/var. Qualquer arquivo a mais em alguma dessas pastas significa novos drivers, emulação de algum hardware como cartão de memória SD, etc. O que não pode é ter arquivos a menos, confira nas imagens abaixo também o tamanho em bytes dos arquivos.


Para iniciar o novo sistema basta desligar o aparelho, ligar e selecionar através do botão Power, o ícone do Android e então pressionar Home.

Método de instalação (automático)

O método automático nada mais é que um shell script que executa todo o procedimento de instalação sem a intervenção do usuário, SUCCA significa Speed Up Custom Creation (of) Android, nós pegamos a última versão deste script, editamos, traduzimos e corrigimos algumas falhas.
Para o perfeito funcionamento de nosso script, você terá que possuir um iPhone com os seguintes requisitos:
- Apple iPhone 2g/3g jailbreaked com redsn0w, pwnagetool ou quickpwn
- Cydia em Hacker mode com os seguintes aplicativos instalados:
  • Open SSH – Openssh para iPhone;
  • IOKit Tools – Conjunto de ferramentas Unix command-line para o iPhone;
  • VI improved – Editor VIm;
  • Core utils – Utilitários Unix para manipulação de shell e arquivos;
  • Apt 0.7 strict – Apt debian tools para iPhone.
  • Mobile terminal – terminal no iPhone que usaremos para dar input nos comandos.
- Um ambiente Linux Ubuntu 10.04 preparado:
  1. Copie nosso script ih_succa_2010052600.sh para a pasta de compartilhamento.
  2. Dentro do Linux, vá até a pasta de compartilhamento e mova o arquivo ih_succa_2010052600.sh para ~/iphonedroid (caso a pasta não exista, crie).
  3. Abra um Terminal e digite os seguintes comandos para iniciar o script:
    cd ~/iphonelinux
    ih_succa_2010052600.sh
    (caso tenha erros de permissões tome acesso de root com su root e a senha "infohelp.org")
Aguarde então a finalização de todos processos, o tempo de conclusão depende muito de sua velocidade de conexão.
Veja abaixo todo o output do processo de instalação.
Succa Installer version 2010052600 (modified by infohelp.org )

Verificando pacotes para instalar localmente... [ OK ]
Testando se seu iPhone está conectado... [ OK ]
Testando se o diretório ./succa_installer_files existe... [ OK ]
Testando se o diretório mnt/android existe... [ OK ]
Criando o diretório /private/var/firmware no iPhone... [ OK ]
Verificando pacotes para instalar remotamente...  [ OK ]
Criando zephyr2_cal.bin no iPhone... [ OK ]
Criando zephyr2_proxcal.bin no iPhone... [ OK ]
Localizando por iPhone.mtprops... [ OK ]
Verificando integridade do iPhone.mtprops... [ OK ]
Gerando o zephyr2.bin no iPhone... [ OK ]
Efetuando download do driver de WLAN sd8686.bin em kernel.org... [ OK ]
Efetuando download do driver de WLAN sd8686_helper.bin driver from kernel.org... [ OK ]
Transferindo os drivers de WLAN para o iPhone...[ OK ]
Efetuando download do pacote unofficial do Android (isto pode demorar um pouco)... [ OK ]
Extraindo o pacote do Android... [ OK ]
Efetuando download da zImage já patcheada... [ OK ]
Descompactando a zImage patcheada... [ OK ]
Copiando zImage para o iPhone... [ OK ]
Criando a imagem de emulação do sdcard... [ OK ]
Criando sistema de arquivos na imagem do sdcard... [ OK ]
Efetuando download da libreference-ril.so... [ OK ]
Descompactando a libreference-ril.so... [ OK ]
Montando a imagem de sistema... [ OK ]
Copiando libreference-ril.so para a imagem de sistema... [ OK ]
Desmontando a imagem de sistema... [ OK ]
Removendo os arquivos remotos instalandos anteriormente... [ OK ]
Transferindo arquivos para o iPhone... [ OK ]
Setando as permissões dos arquivos no iPhone... [ OK ]
Editando o arquivo do Openiboot... [ OK ]
Extraindo openiboot... [ OK ]
Concluído!
Neste momento você acaba de concluir a instalação do iDroid em seu iPhone. Para iniciar o novo sistema basta desligar o aparelho, ligar e selecionar através do botão Power, o ícone do Android e então pressionar Home para iniciar o novo sistema.

Jailbreak!

Muita gente ainda confunde quando se fala de jailbreak do iPhone. Alguns têm medo, outros preconceito. Mas o fato é que ele é uma maneira de melhorarmos ainda mais um celular que já é fantástico, livrando ele das limitações impostas de fábrica.
Jailbreak é liberar o seu iPhone de todas as limitações
Por que fazer o jailbreak? Ele é contra a lei? Ele pode estragar meu telefone? Eu perco a garantia?
É justamente sobre isso que discutiremos neste artigo.
Primeiro de tudo vamos à definição:

O que é jailbreak?

A palavra “jailbreak”, em uma tradução livre, poderia ser definido como “sair da prisão”. É o processo que libera o iPhone (e iPod touch) dos limites impostos pela Apple, permitindo que você instale programas não-oficiais e habilite funções bloqueadas no aparelho.
Ele é feito graças à programas desenvolvidos por comunidades de hackers, que têm como ideologia a liberdade que cada um tem de fazer o que quiser com uma propriedade sua.

iPhone Dev-Team

O Dev-Team é o grupo mais conhecido no momento, por ter sido o único a apresentar um método gratuito de jailbreak (e desbloqueio) para o firmware 2. Eles não aceitam doações e são contra a pirataria, procurando sempre desenvolver hackings que não transgridam a lei, tomando o cuidado de não alterar nenhum código que seja de propriedade intelectual da Apple. É por isso que eles desenvolvem a ferramenta para os firmwares customizados, mas não distribuem os arquivos prontos, pois isso seria ilegal. Você mudar um firmware para uso próprio pode, mas não tem o direito de distribuí-lo a ninguém.
É como você comprar uma música e alterá-la. Você pode, pois é sua, mas se distribuí-la, irá ferir os direitos autorais do autor. O raciocínio é o mesmo.

iPhone Classic

No começo, quando o iPhone era vendido somente nos Estados Unidos, o jailbreak era a única maneira de moradores de outros países usarem o celular, que vinha bloqueado com a AT&T. Milhares de pessoas no mundo fizeram isso, inclusive ministros europeus.
Ainda hoje, quem tem um iPhone Classic (aquele com a traseira prateada e preta) precisa obrigatoriamente fazer o jailbreak para poder usá-lo, pois ele continua preso com o chip da operadora original. Ele passou a ser vendido em alguns países da Europa, mas o único país que desbloqueava oficialmente os antigos modelos era a França (após 6 meses da compra), devido à sua legislação.

Cydia e Installer

No começo, o iPhone vinha com somente 16 aplicativos básicos (e o iPod touch com 12). E só.
Nada de aplicativos de terceiros, a única coisa que você podia fazer era acessar páginas internet no formato iPhone, que a Apple chamou de “Webapps”. Ela tentou incentivar os “aplicativos web” entre os desenvolvedores, mas isso foi um banho de água fria na maioria que pensava que poderia usar o máximo do sistema Unix instalado no aparelho.
Foi esse o grande incentivo inicial ao jailbreak, liberar aquele dispositivo cheio de capacidades, mas que vinha ultralimitado de fábrica. E com ele nasceu o Installer, que instalava direto no celular aplicativos feito por terceiros. Era o início da revolução.

GeoHot

Impossível falar do jailbreak sem citar o nome de George Hotz, o hacker de 17 anos que foi o primeiro no mundo a desbloquear o iPhone, pouco mais de um mês após seu lançamento. Mas na época o processo era físico: você tinha que abrir seu aparelho e tentar soldar um ponto minúsculo. Se errasse
O GeoHot também ajudou a encontrar várias outras falhas, que permitiram os desbloqueios futuros (inclusive o yellowsn0w).

Para que fazer o jailbreak?

Liberar seu aparelho é mais uma opção do que uma necessidade. Nos dias de hoje você pode muito bem viver sem o jailbreak e se conseguir, ótimo, pois estará evitando muita dor de cabeça com atualizações de firmwares e reinstalação de aplicativos cada vez que restaura. Mas deve saber também que não poderá fazer muita coisa além dos limites impostos pela Apple.
O jailbreak pode habilitar várias funções no aparelho, como MMS, gravação de filmes, multitasking (mais de um aplicativo rodando ao mesmo tempo), copiar/colar, usar o celular como modem internet, instalação de temas e fundos de telas, entre outros. Até o uso ilimitado do bluetooth é uma promessa iminente. Várias coisas que outros celulares permitem e o iPhone não.
É crime querer usar toda a capacidade de um aparelho que comprou?

O jailbreak anula a garantia?

Sim, anula, mas é totalmente reversível, porque ele não altera nada definitivamente no seu aparelho. Basta fazer a restauração normal pelo iTunes e você terá seu sistema original de fábrica. Só não pode levar para a assistência com o jailbreak, porque a Apple não permite.

Por que a Apple não permite o jailbreak?

Por uma questão lógica. A Apple proíbe qualquer alteração no sistema do iPhone porque instalar coisas que a empresa desconhece pode fazer um belo estrago no aparelho. Ela não pode achar que todos os hackers agem de boa fé e por isso não se responsabiliza pelas alterações feitas. É como quando você compra um computador: o manual diz que, se você abrí-lo, perde a garantia, porque a fabricante não sabe o que foi feito nele sem a permissão oficial. A mesma coisa com o iPhone, se você abrí-lo ou mexer no sistema operacional, ela não se responsabiliza mais. Nada mais lógico.

Preocupado com isso, o Dev-Team desenvolveu um processo confiável que não altera nada definitivamente no iPhone. Se o aparelho estragar, não será culpa do jailbreak e é por isso que basta restaurar o firmware para que a garantia valha outra vez.

Já ouvi dizerem que isso é querer enganar a assistência técnica oficial, mas a realidade é bem outra: se ele não estragou por causa do jailbreak, não é justo a garantia perder a validade.

É como você desinstalar um aplicativo antes de levar para a assistência.
Claro que estamos falando de jailbreak confiável. Se você um dia liberar seu aparelho em um site estranho com um método diferente do Dev-Team, ele pode usar métodos que estraguem seu aparelho e aí a garantia, com razão, fica inválida. Mas basta estar ligado aqui no Blog que informaremos sempre o método mais seguro.

Jailbreak não é sinônimo de pirataria

Muitos associam o desbloqueio ao uso de aplicativos crackeados, mas nem sempre isso é verdade.
Um dos motivos da Apple querer impedir o jailbreak é justamente o fato dele possibilitar usos pouco ortodoxos do aparelho, como a possibilidade de instalar aplicativos piratas. Isso sim é ilegal, pois é um roubo de propriedade intelectual. A comunidade de hackers responsável pelo desbloqueio do iPhone é contra este tipo de prática, por ser uma falta de respeito ao trabalho de pequenos e médios desenvolvedores, além de ser contra a lei.

Achar que todo o jailbreak é ilegal só por causa da pirataria é um erro.


O desbloqueio do aparelho

Este parece ser um ponto polêmico entre nossos leitores.
O desbloqueio é outra função que o jailbreak permite, possibilitando o uso do chip de uma operadora diferente daquela que vendeu o aparelho. Este é um recurso desnecessário no Brasil, visto que as operadoras nacionais desbloqueiam oficialmente o iPhone (comprado com elas), bastando um simples pedido do cliente. 
Mas em muitos países o aparelho vem bloqueado, dependendo do acordo que a Apple fez em cada país. Nesses casos, o cliente fica com o celular preso, não podendo usá-lo em viagens, por exemplo. Muitos brasileiros que moram no exterior sofrem com isso.

Também tem o caso dos proprietários do primeiro modelo de iPhone, que necessitam do desbloqueio para poder usar o aparelho no Brasil. A própria Apple já não se preocupa mais com isso, pois não está mais atualizando a baseband dos Classics.