Ottenere i permessi di root con APatch

L’articolo esplora la questione del rooting su dispositivi Android, analizzando le principali soluzioni disponibili: Magisk, KernelSU e APatch. Si analizzano i vantaggi e gli svantaggi di ciascuna opzione, mostrando anche come cercare di arginare i controlli di integritá, Play Integrity, di Google.

  ·   5 min read

Una volta sbloccato il bootloader e installato una custom ROM, come descritto nel precedente articolo, é possibile ottenere i permessi di root.

Ottenere i permessi di root significa avere il controllo completo del sistema operativo. Questa espressione è comunemente usata in ambienti Linux e, di conseguenza, anche Android, che si basa sul kernel Linux. In Windows, il termine equivalente è privilegi di amministratore.

Vantaggi #

Il rooting consente agli utenti di eseguire operazioni avanzate e di modificare il sistema operativo in modi non disponibili con i permessi standard.

Nonostante i rischi associati, esso rappresenta talvolta l’unico metodo per utilizzare applicazioni che richiedono permessi elevati. Un esempio è l’utilizzo di strumenti di backup/ripristino completi, come il nandroid backup, che consentono di salvare non solo le applicazioni installate, ma anche le loro impostazioni e i dati.

Svantaggi #

Il rooting presenta diversi svantaggi che devono essere considerati:

  • Il processo di rooting generalmente invalida la garanzia del dispositivo
  • Il root rimuove le barriere di sicurezza predefinite, consentendo a qualsiasi applicazione con autorizzazioni di amministratore di accedere, modificare ed eliminare file di sistema critici. Pertanto, è essenziale installare applicazioni solo da fonti affidabili e verificare attentamente tutte le autorizzazioni richieste
  • Alcune applicazioni, in particolare quelle bancarie, di pagamento e di streaming, possono smettere di funzionare se viene rilevato il root

Tecniche di rooting: KernelSU vs Magisk vs Apatch #

Un tempo, il rooting era semplice: bastava installare SuperSU e il gioco era fatto. Nel corso degli anni, ottenere i permessi di root è diventato sempre più complicato a causa delle misure di sicurezza implementate dai produttori. Esistono tuttavia diverse soluzioni, alcune più semplici e altre più complesse, come Magisk, KernelSU, KernelSU Next e APatch.

Magisk #

Magisk è uno strumento open-source progettato per consentire il rooting in modalità systemless, il che significa che non modifica direttamente la partizione di sistema. Invece, modifica l’immagine di avvio e apporta cambiamenti al dispositivo durante il runtime.

Questa caratteristica è stata introdotta per affrontare le limitazioni imposte dalle versioni più recenti di Android, che consentono di montare le partizioni di sistema solo in modalità RO (read-only).

Magisk è compatibile con praticamente tutti i dispositivi Android che utilizzano versioni 6 o superiori, rendendolo una scelta molto versatile. Tuttavia, la funzionalità MagiskHide non è più disponibile. Sebbene fork come Shamiko o Zygisk Assistant tentino di ripristinarne le capacità, i controlli spesso possono rilevare facilmente il rooting.

KernelSU #

​KernelSU opera in kernel mode. Solo le applicazioni autorizzate possono accedere ai permessi di superuser; tutte le altre applicazioni non ne hanno alcuna consapevolezza. Questa caratteristica potrebbe consentire di bypassare i controlli di Play Integrity su alcuni dispositivi.

Rappresenta il futuro, a condizione che il dispositivo lo supporti. Si integra direttamente con il kernel, anziché limitarsi a patchare boot.img. Questo approccio rende anche più difficile il rilevamento da parte dei controlli di Google.

Una spiegazione tecnica sul funzionamento, la si trova nella documentazione ufficiale​.

APatch #

APatch è una soluzione di rooting che combina i punti di forza di Magisk e KernelSU, unendo il metodo di installazione facile di Magisk tramite boot.img, ma operando in kernel mode, offrendo un controllo più profondo.

A differenza di KernelSU, che richiede il codice sorgente del kernel del dispositivo - spesso non fornito dai produttori - APatch necessita unicamente della boot image. Inoltre, è compatibile con la maggior parte dei dispositivi Android, senza limitazioni ai soli dispositivi con kernel GKI (Generic Kernel Image), come invece avviene per KernelSU.

apatch

Rooting tramite APatch #

Prerequisiti #

Assicurarsi di soddisfare i seguenti requisiti prima di procedere con l’installazione:

  • Bootloader sbloccato
  • È necessario avere installato adb e fastboot sul computer
  • Assicurarsi di avere installato l’ultima versione di APatch disponibile sul proprio device
  • Avere un device ARM64 e con una versione del kernel Android compresa tra la 3.18 e la a 6.1
  • Avere a disposizione il file boot.img della propria ROM (stock o custom). Nel caso di LineageOS, si trova qui, mentre per LineageOS for microG, scaricare l’immagine di avvio dal seguente link. Copiare il file nella memoria interna dello smartphone

Infine, verificare che il kernel sia compatibile con il processo di patching. Collegare il device al computer ed eseguire:

adb shell

zcat /proc/config.gz | grep CONFIG_KALLSYMS

L’output dovrebbe essere simile al seguente:

CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y

Installazione #

Il procedimento é molto semplice. Aprile l’applicazione APatch sul proprio cellulare e seguire i seguenti passaggi:

  • Cliccare il pulsante Patch Button nell’angolo in alto a destra, quindi selezionare Select a boot image to patch
  • Selezione l’immagine di avvio boot.img da modificare
  • Impostare una SuperKey, che sarà utilizzata in seguito per sbloccare i privilegi di root
  • Fare clic su Start per avviare il processo di patching. Una volta completata con successo la patch, verrà visualizzato il path del file
  • Infine, copiare tale file sul pc

Flashare l’Immagine di avvio #

  • Collegare il dispositivo al PC ed eseguire il seguente comando per entrare in modalità fastboot:
adb reboot bootloader
  • Una volta entrati in modalità fastboot, flashare l’immagine modificata:
fastboot flash boot boot.img
  • Al termine del flashing, riavviare il dispositivo:
fastboot reboot
  • Aprire l’applicazione e inserire la SuperKey. Concedere i privilegi di root alle applicazioni desiderate, facendo attenzione alle raccomandazioni di cui sopra.

Nel caso di update dell’applicazione o di aggiornamenti di sistema, seguire la procedura ufficiale.

Play Integrity Fix #

Seguendo questa procedura o questa, dovrebbe essere possibile, in molti casi, superare i controlli di integritá e mascherare il bootloader sbloccato alle applicazioni.

Una ROM che dovrebbe integrare questi fix, ma che non ho avuto la possibilitá di testare, é CRDoid.

play-integrity

Eseguire il backup delle applicazioni #

Una delle migliori applicazioni per eseguire un backup completo della app installate sullo smartphone é Neo Backup.

  • Richiede il root e consente di eseguire il backup e il ripristino delle app e dei loro dati
  • I backup possono essere programmati
  • Supporta la cifratura dei backup

neo-backup

Riferimenti #