O Android é, acima de tudo, um Linux (até alguém me explicar o contrário), e como tal tem um sistema de arquivos, gerenciador de inicialização (boot), arranque e tudo mais, exceto o acesso ao sistema. Isso acontece para evitar que o usuário fiquei “mexendo” no telefone e possa fazer algo errado.
Tal como no linux, existe um usuário comum, que pode acessar o sistema em modo somente leitura, e uma parte em modo leitura-escrita, lugar onde é salvo os arquivos das aplicações que instalamos no nosso aparelho. Agora, certos componentes como as ferramentas do Google ou da operadora não são possíveis remover com este usuário comum, mas sim apenas com o superusuário do sistema que, no Unix e Linux, é o root.
Daí você pode perguntar algumas coisas como:
O que o acesso a root me dá?
- Total controle sobre seu sistema;
- Habilidade para alterar os arquivos de sistema. Você pode substituir MUITAS PARTES do núcleo do seu Android como:
- Temas
- Aplicativos centrais (mapas, calendário, relógio, etc.);
- Inicializador (bootloader);
- Ferramentas podem ser substituídas pelo Busybox;
- Imagens de boot;
- Adicionar binários linux;
- Rodar aplicações especiais que precisam mais controle sobre o sistema;
- Super Usuário (que aprova ou nega o uso de acesso root a qualquer programa);
- Gerenciador de tarefas para Root;
- Fazer uma cópia de segurança (backup) do seus sistema;
- Você pode fazer uma pasta no seu sdCard e guardar todos seus arquivos .apk lá;
- Realocar seu cache do navegador/mapas/market para seu /sdcard;
- Realocar suas aplicações instaladas para seu /sdcard;
- Reiniciar seu celular do seu aplicativo de terminal facilmente (su <enter> reboot <enter>)
O que você PERDE tendo ROOT?
- A habilidade de fazer as atualizações do seu sistema operacional (bem, você pode atualizar, mas vai perder o seu acesso de root);
- A sensação que alguém controla seu celular;
- A necessidad de sentar em um canal de chat do Android para perguntar como acessar o root;
- A necessidade por um inútil “Gerenciador de Arquivos” que só deixa ver os arquivos mas não deixa fazer nada neles;
- A habilidade de ter uma conversa técnica com o representante da sua operadora sobre seu celular (peça para ele soletrar “root” para você).
Ok! Estou convencido! Como faço?
Particularmente, eu NÃO GOSTO de soluções prontas ou “caixas pretas”, isto é, toneladas de programas que prometem desbloquear seu celular. Gosto de entender o que está acontecendo e, na medida do possível, fazer passo-a-passo. Assim, comecei a estudar e descobrir algumas coisas.
Kernel e StockMod
O Android (tal como o Linux) precisa de um arquivo chamado zImage, que é o arquivo de inicialização (kernel) do sistema operacional. Quando compramos um celular, na grande maioria das vezes ele vem com as regras de acesso descritas anteriormente, com um usuário simples para uso e o root bloqueado.
Precisamos inserir um kernel modificado (vulnerável), que nos permitirá instalar o root, e depois inserir os aplicativos ‘su’ e ‘busybox’ no sistema.
Acessando o celular
- Android em modo de depuração - quando conectamos o cabo USB no celular e no computador, pelo menos nos produtos da Samsung, abre automaticamente o Kies, software responsável por sincronismo e atualização do celular. Precisamos habilitar a comunicação direta entre computador e celular. Para isso, vá em Menu > Configurações > Aplicações > Desenvolvimento > Depuração de USB.
- Android Debug Bridge (ADB) - é o programa que faz a comunicação entre computador e celular. Este é um componente do SDK. É necessário instalar o SDK do Android e depois pedir para instalar as ferramentas de plataforma, a partir do instalador do SDK Android.
- Ferramentas de root - vamos instalar o su, busybox e SuperUser.apk;
- Kernel inseguro - kernel preparado para liberar acesso de root. Baixe aqui.
- Heimdall - é uma suite de código aberto e multi-plataforma usando para gravar firmware (também conhecidos como ROMs) em dispositivos Samsung Galaxy S. Baixe os pacotes deb e instale no seu sistema.

# ./adb devices * daemon not running. starting it now on port 5037 * * daemon started successfully * List of devices attached 30XD19EX5E0AXA5X device
Isso significa que meu dispositivo foi reconhecido corretamente. Agora, temos que carregar o kernel inseguro para o celular.
# tar xvf XWKDD_insecure.tar zImage # heimdall flash --kernel zImage Heimdall v1.3.0, Copyright (c) 2010-2011, Benjamin Dobell, Glass Echidna http://www.glassechidna.com.au This software is provided free of charge. Copying and redistribution is encouraged. If you appreciate this software and you would like to support future development please consider donating: http://www.glassechidna.com.au/donate/ Initialising connection... Detecting device... Claiming interface... Attempt failed. Detaching driver... Claiming interface again... Setting up interface... Beginning session... Handshaking with Loke... Downloading device's PIT file... PIT file download sucessful Uploading KERNEL 100% KERNEL upload successful Ending session... Rebooting device... Re-attaching kernel driver...
Tudo correndo bem o celular irá reiniciar. Agora precisamos transferir os aplicativos para sub-pastas de “/system”, no entanto, ele está em modo somente leitura. Precisamos colocá-lo em modo de escrita também para poder continuar. Para isso, usamos o comando “remount”. Depois, copiamos os arquivos para dentro do celular.
# adb remount # adb push busybox /system/bin 3442 KB/s (705192 bytes in 0.200s) # adb push su /system/bin 362 KB/s (22228 bytes in 0.059s) # adb push Superuser.apk /system/app 2900 KB/s (748792 bytes in 0.252s)
Agora, precisamos entrar dentro do celular. Tal como no linux, podemos entrar nele numa espécie de chroot. Depois disso, precisamos ajustar as permissões.
# adb shell # chmod 6755 /system/bin/su # chmod 755 /system/bin/busybox # chmod 644 /system/app/Superuser.apk
Tudo correndo de acordo, seu sistema estará com o root habilitado.
http://android-dls.com/wiki/index.php?title=Why_Root http://www.erodov.com/forums/how-root-any-android-device-manually/43325-page2.html
http://forum.xda-developers.com/showthread.php?t=1075278