sexta-feira, 9 de maio de 2014

Tutorial | ROOT - Aula de ROOT para Xperia Z1 [destinado a usuários avançados]





Para ter acesso root gerenciado por um aplicativo como SuperSU por exemplo, é necessário instalar os binários su no sistema (/system/xbin) e o aplicativo em questão.

Porém para gravar na partição de sistema sem antes ter root existem duas formas:
1- Através de um exploit (falha de segurança) que permita obter privilégios/permissões de superusuário (root) temporáriamente e gravar os arquivos necessários. 
2- Através de um recovery.

Agora vamos analisar a primeira opção, além de não existirem exploits conhecidos no Z1 desde o firmware 14.1.G.2.257 (na verdade o único firmware com exploit conhecido foi o 14.1.G.1.534), a partir do Android 4.3 a Sony implementou uma proteção de baixo nível chamada "RIC" é um serviço que protege a partição /system de ser montada como "rw" (read-write, por padrão é 'ro' [read-only]), logo mesmo que se possua privilégios de root, não é possível gravar nada no sistema sem antes desligar esse serviço, para desligar esse serviço há duas opções;

Opção A: Executar o seguinte comando sem as aspas em um terminal, com permissões de superusuário > "echo 0 > /sys/kernel/security/sony_ric/enable", porém ao gravar esse "0" você está alterando uma parte da ramdisk do kernel, o que só pode ser feito com bootloader desbloqueado (há kernels customizados que desabilitam o serviço RIC por padrão, não sendo necessário digitar esse comando).
Opção B: Através do XZDualRecovery que é um conjunto de recovery's e também que tem uma série de scripts que eu não conheço como funcionam que conseguem com sucesso tornar a partição system montável como "rw".


Agora vamos analisar a segunda opção, através de um recovery, o recovery roda antes do sistema, então as proteções de sistema como o serviço RIC que falamos acima não está rodando, você pode gravar o que quiser no aparelho, por exemplo, o ZIP que instala os binários necessários e na maioria dos casos um app tipo o SuperSU para gerenciar as permissões de superusuário.
Mas os Xperia não tem partição dedicada para recovery, como em outras marcas (ex: Motorola), então como fazer para obter um recovery tipo CWM ou TWRP em um Xperia?

Opção A: Através de um kernel customizado. Opa! Mais uma vez um kernel com alterações? Então é necessário desbloquear o bootloader.
Opção B: Instalando os arquivos do recovery em /system/bin e susbstituindo o arquivo /system/bin/chargemon padrão por um chargemon personalizado que carregue o recovery (normalmente o gatilho de carregar o recovery é pressionar um dos botões de volume quando o LED do aparelho acender). Porém não é possível gravar estes arquivos se o serviço RIC estiver funcionando, pois o sistema estaria como "ro" (read-only) e não seria possível colocar como "rw" (ready-write).

Observação, com estes conceitos você vai entender o que é root total e root parcial;
Root total ou Full root = Root com acesso "rw" nas partições do sistema, ou seja, consegue ler e gravar nas partições de sistema.
Root parcial ou partial root = Root com acesso "ro" nas partições do sistema, ou seja, só consegue ler as partições de sistema.



Agora chega de teoria, na prática só há uma forma de fazer root utilizando o KitKat no Z1 que seria:

Desbloquear o bootloader > Instalar um kernel com recovery > Gravar um ZIP que instale os binários de superusuário.

Embora você pode atualizar para o KitKat sem perder o root, mas o processo ainda não está funcionando 100%, o desenvolvedor responsável está procurando uma solução pois apareceram vários problemas no XZDualRecovery com o KitKat. Este processo consiste no seguinte fluxo:
Downgrade para a ROM 14.1.G.1.534 > Instalar o XZDualRecovery > Utilizar o ZIP e FTF que ainda serão lançados (tem uma ordem e um tutorial de como usá-los), porém como ainda não estão disponíveis não vale a pena ir muito a fundo, garanto que quando estiverem disponíveis vou traduzir e trazer o tutorial aqui para o fórum).

Observação, sabemos que será desta forma o processo de atualizar sem perder o root pois o desenvolvedor responsável já informou, e foi a mesma forma utilizada para atualizar para o Android 4.3 sem perder o root/recovery.



AVISO: NÃO DESBLOQUEIE SEU BOOTLOADER SEM FAZER UM BACKUP DE SUA PARTIÇÃO TA, OU VOCÊ PERDERÁ PERMANENTEMENTE SUA GARANTIA E SUAS CHAVES DRM, ESSAS CHAVES FAZEM FUNCIONAR RECURSOS COMO X-REALITY E O BIONZ.






Fonte: Brasil Droid

Nenhum comentário:

Postar um comentário