Dopo l'abbandono del progetto Superuser, SuperSu è stato per molto tempo l'unico root disponibile per Android ma finalmente la situazione è cambiata grazie all'arrivo di Magisk un nuovo root per Android, più evoluto e finalmente di nuovo open source!

Guida Magisk: nuovo root Android

Differenze e somiglianze con SuperSU

Abbiamo ormai imparato a conoscere l'ottimo SuperSu proprio perché ultimamente era l'unica possibilità per diventare root su Android, se si escludono soluzioni cinesi (di dubbia moralità) e il Superuser di phhusson, non facilmente utilizzabile (fino ad ora dato che è utilizzato in Magisk!!). Lo sviluppatore, chainfire, vero e proprio guru del root su Android, non ha mai rilasciato il codice sorgente ma la comunità di Android tendeva a fidarsi data la sua reputazione costruita negli anni. A settembre 2015, però, chainfire ha venduto SuperSu ad una (misteriosa) società, Coding Code Mobile Technology LLC, e questo ha fatto storcere il naso a molti: se infatti ci può scegliere di fidarsi di uno stimato e conosciuto sviluppatore è molto più difficile farlo riguardo ad un società di cui si sa poco o nulla. Questo è vero tanto più se abbiamo anche solo una vaga idea di cosa sia root in un sistema (hint: root è dio)!! Non possiamo quindi non apprezzare una caratteristica di questo nuovo progetto: lo sviluppatore di Magisk, topjohnwu, ha rilasciato il codice sorgente; conoscerlo ci consente di sapere esattamente quali sono tutte le funzioni di cui è capace!!

Una cosa che invece accomuna le ultime versioni di SuperSu con Magisk è che sono entrambe "systemless" cioè consentono di diventare root senza andare a modificare la partizione di sistema. Android è composto da 4 distinte partizioni (in realtà sono molte di più, semplifico a beneficio della comprensione): boot, recovery, system e data.

Guida Magisk: nuovo root Android

La parte normalmente "scrivibile" dall'utente è data dove vengono salvate tutte le applicazioni e i dati ad esse associati mentre le altre partizioni sono disponibili in sola lettura e non sono normalmente modificabili dall'utente. Abbiamo visto come si può sostituire la recovery (tramite fastboot) e utilizzare una custom recovery (come TWRP) (o Odin per dispositivi Samsung) per "flashare" SuperSu. In pratica, in passato, "fare il root", consisteva nell'utilizzare una custom recovery (o un programma come Odin) per accedere in scrittura alla partizione system e qui salvare un nuovo eseguibile (su, appunto) e qualche script di avvio. Magisk (e le ultime versioni di SuperSU) invece non vanno a modificare la partizione system ma, utilizzando lo stesso metodo della custom recovery, modificano la partizione boot e salvano alcuni eseguibili nella partizione data. Questo nuovo metodo (detto appunto systemless, il cui ideatore è sempre il grandissimo chainfire) è stato necessario per aggirare alcune limitazioni imposte dalle ultime versione di Android, ma mentre SuperSu si limita ad aggirare solo i blocchi basilari per consentire il corretto funzionamento del root, Magisk va oltre riuscendo (per il momento) ad ingannare anche SafetyNet (tristemente famoso grazie anche a Netflix). Dobbiamo però chiarire che Magisk non è una silver bullet e attualmente è in corso un gioco "del gatto con il topo" tra Google e topjohnwu, dove il primo crea ostacoli ad ogni aggiornamento che il secondo aggira con nuove versioni...

Molto, molto di più

Ma Magisk non è solo root. Viene definita dallo sviluppatore stesso come "Universal Systemless Interface" (ovvero "interfaccia universale senza [modifica di] system") e consente (a dispetto del nome) di modificare la partizione system "al volo", durante l'avvio del dispositivo, ma senza scrivere o attuare modifiche permanenti a detta partizione. Queste modifiche possono essere gestite dall'applicazione Magisk Manager (dalla quale si gestisce anche la concessione dei permessi di root) e ampliate con l'utilizzo di appositi moduli (un po' come avviene per Xposed, per chi lo conosce).

Guida Magisk: nuovo root Android

Due delle più utili modifiche non permanenti a system sono l'abilitazione di busybox (indispensabile per alcune applicazioni che richiedono root) e la possibilità di modificare il file hosts (molto utile, ad esempio, per bloccare le pubblicità).

Come si installa?

Prerequisito fondamentale: la versione di Android deve essere uguale o superiore alla 5!

Come detto, l'installazione avviene in maniera analoga a quanto già visto in questo articolo per cui non starò a ripeterla. L'unica differenza è ovviamente al passo 3: dovete scaricare Magisk-v**.zip da questo link al posto di SuperSu!

Ho SuperSu, posso sostituirlo?

Sì, la sostituzione è possibile! Ma dato che "if it ain't broke, don't fix it" (se non è rotto, non aggiustarlo"), se non avete problemi e non avete una buona dimestichezza con flash, ROM e simili, meglio lasciar perdere.

Se invece siete motivati ad effettuare il cambio, sarà sufficiente installare Magisk Manager e gestire il passaggio da lì (potete aiutarvi con questa video-guida). Tenete però presente che, se la vostra partizione system è già stata modificata il passaggio a Magisk non potrà ripristinarla. In questo caso, se intendete sfruttare la possibilità di aggirare SafetyNet, dovrete quindi ripartire da zero, ripristinando la ROM stock.