Magisk agora suporta Google Pixel 3 e Pixel 3a no Android Q

click fraud protection

O desenvolvedor Magisk fez duas grandes inovações: suporte para sistema como raiz e partições lógicas para o Google Pixel 3 e Pixel 3a no Android Q.

O Google lançou o primeiro Android Q beta em março e acesso root via Magisk rapidamente ficou disponível para o Google Pixel e Google Pixel 2. O Google Pixel 3, no entanto, não pôde ser enraizado no Android Q porque o desenvolvedor do Magisk, XDA Recognized Developer topjohnwu, precisava descobrir como trabalhar com o novo layout de partições lógicas. Com seu novo estágio na Apple, topjohnwu teve menos tempo para trabalhar no Magisk, mas isso não o impediu de ter dois grandes avanços no desenvolvimento. Na versão mais recente do Canary, o Magisk agora oferece suporte ao sistema como root, tornando mais difícil para os aplicativos detectarem o root acesso e também oferece suporte a dispositivos com partições lógicas, como as séries Pixel 3 e Pixel 3a XL em AndroidQ.

Fóruns do Google Pixel 3Fóruns do Google Pixel 3 XL

Fóruns do Google Pixel 3aFóruns do Google Pixel 3a XL

Suporte para partição lógica do Google Pixel 3 e Pixel 3a no Android Q

Para ajudar os desenvolvedores a testar versões AOSP do Android em dispositivos existentes, o Google lança imagens genéricas do sistema (GSIs) que podem ser inicializadas em dispositivos compatíveis com o Project Treble (qualquer dispositivo que lançado com Android 9 Pie ou posterior.) A instalação de um GSI requer o desbloqueio do bootloader, o que pode não ser possível em todos os dispositivos, e a atualização de uma imagem do sistema no fastboot após a limpeza do usuário dados. No Android Q, o Google está introduzindo um novo recurso chamado Atualizações dinâmicas do sistema que permite aos desenvolvedores inicializar um GSI sem desbloquear o bootloader ou limpar dados. Para suportar atualizações dinâmicas do sistema, um dispositivo precisa ter partições lógicas que possam ser redimensionadas dinamicamente para liberar espaço para a instalação do GSI. O Google Pixel 3, Google Pixel 3 XL, Google Pixel 3a e Google Pixel 3a XL têm partições lógicas nos betas do Android Q, embora apenas o Pixel 3 e o Pixel 3 XL suportem DSU. No entanto, é por causa desta mudança radical na estrutura de partições que o Magisk não estava funcionando.

Quando topjohnwu é determinado, nada o impede de obter acesso root. Outro dia, ele anunciou que fez root com sucesso em seu Pixel 3 XL no Android Q beta 4. Sua descrição de commit aqui explica os detalhes técnicos de como ele conseguiu suporte a partições lógicas, mas o importante é que o Magisk agora pode ser instalado em dispositivos com ou sem partições lógicas.

Suporte ao sistema como raiz

Para dispositivos com Partições duplas A/B, a partição do sistema é montada como o diretório raiz (/), mas os dispositivos sem partições duplas A/B têm a partição do sistema montada em /system. Isso torna impossíveis OTAs somente de sistema em dispositivos não A/B porque os arquivos no disco RAM, que precisam de atualização, estão localizados na partição de inicialização. É por isso que, para tornar possíveis OTAs somente de sistema no Android Pie e superior, o Google exige que todos os dispositivos lançados com Android Pie suportem o layout de partição do sistema como raiz. No layout sistema como root, a imagem do ramdisk é mesclada na imagem do sistema, que é montada como rootfs.

Desde que o Google introduziu o sistema como root, o solução para dispositivos root era reverter o sistema como root de volta para o layout antigo da partição "initramfs rootfs". Que funciona bom para Android 7.1 a Android 9 Pie, já que o Android tem suporte legado para esse layout antigo, mas Android Q completamente remove o suporte como sistema como root agora é obrigatório para todos os dispositivos, mesmo para aqueles dispositivos que estão atualizando para o Android Q. As versões anteriores do Magisk ainda funcionavam graças a alguns “hacks realmente desagradáveis”, mas topjohnwu não estava satisfeito com essa solução, então, para oferecer suporte adequado ao sistema como root, ele introduzido "MagiskInit."

Um bom efeito colateral do suporte adequado ao layout da partição do sistema como raiz é que um caminho potencial da detecção de raiz foi esmagada. Como topjohnwu gentilmente me explicou, o antigo método "reverter para initramfs rootfs" era fácil de ser detectado pelos aplicativos porque o Magisk seria montado system para '/system_root' e ligue a montagem '/system_root/system' para '/system.' Tudo o que um aplicativo precisaria fazer para detectar a presença de root é verifique se '/system_root' existe ou se '/' é 'rootfs.' No entanto, não está claro se algum aplicativo realmente tirou vantagem disso para detectar raiz. Ainda assim, é melhor prevenir do que remediar.

Mudanças Diversas

O Android Q apresenta suporte para algo chamado "piscina de blástula" para o ciclo de vida do aplicativo Android. MagiskHide era impossível para detectar aplicativos para ocultar o acesso root se o novo recurso "pool de processos" estiver habilitado. A versão mais recente do Canary agora oferece suporte a esse recurso. De acordo com topjohnwu: "Para oferecer suporte adequado à nova otimização do pool de blástulas introduzida em Q, reescrevi uma boa parte da lógica de ptracing para monitoramento de processos."


Se você possui um Pixel 3, Pixel 3 XL, Pixel 3a ou Pixel 3a XL no Android Q beta, experimente a versão mais recente do Magisk Canary e informe-nos se conseguir fazer root no seu dispositivo.

Canal Canário Magisk