6 min readface Aronne Briviofolder Android 21 Dec 2016

Magisk: il root, systemless



Magisk Is A Magic Mask to Alter System Systemless-ly

Si chiama Magisk, abbreviazione di Magic Mask, e promette di poter fruire di determinate Mod, fino ad ora rigorosamente installate nella partizione di sistema del telefono, senza però toccare tale partizione.

Magisk Logo

Fino ad oggi qualsiasi Mod, quale l'ottenimento dei permessi di Root, l'utilizzo del framework Xposed e dei suoi moduli, Viper4Android, AdAway e chi più ne ha più ne metta, per poter funzionare dovevano essere installati sotto /system, la partizione contenente tutti i file e le applicazioni di sistema di Android. Un vero limite, se pensiamo che la modifica della partizione di sistema compromette la possibilità  di ricevere aggiornamenti OTA ufficiali, piuttosto che utilizzare le più famose app per il Mobile Banking o qualsiasi applicazione che per sicurezza controlli l'integrità  del sistema. Nasce così il root systemless, in grado quindi di mantenere inalterata questa partizione di Android, che ha debuttato con l'avvento di Android Lollipop 5.0, ma senza ottenere chissà  che successo non fornendo alcuna funzionalità  in più rispetto al sistema di rooting standard. È solo con l'arrivo di Android Pay (in Italia.. va beh [ndr]) che qualcosa sotto questo fronte ha iniziato realmente a muoversi.

Perchè? Perchè Google ha pensato - correttamente - di negare l'utilizzo di Android Pay ai dispositivi con permessi di root per questioni di sicurezza. Come? Fornendosi di Google Play Services, un servizio presente su tutti i dispositivi Android (o per lo meno tutti quelli con GApps installate), per far comunicare i terminali con SafetyNet, un sistema remoto di controllo di integrità del sistema Android.

Chiaramente tutti i dispositivi con una modifica anche minima della partizione di sistema risultano non conformi, di conseguenza impossibilitati ad utilizzare Android Pay e qualunque altra app che utilizzi la SafetyNet API (Qualcuno ha detto Pokemon GO?!?).

Magisk example

Magisk nasce proprio con questo obiettivo, quello di poter passare il test di integrità  di SafetyNet e usufruire dei benefici del root sullo stesso dispositivo. Al posto di modificare /system va ad installare nella boot image del sistema un "layer" aggiuntivo tra il sistema stesso e le varie Mod. Ma che benefici ci dà ?

  • La partizione di sistema non viene toccata, SafetyNet OK!
  • Il root, come i moduli Xposed e qualsiasi altra Mod possono essere attivati e disattivati (montati e smontati) "On The Fly", senza dover riavviare il dispositivo (per i moduli Xposed ad esempio) e senza effettuare la procedura di unroot
  • Non toccando /system ad ogni aggiornamento non sarà  necessario reinstallare le mod

Ma se fino alla versione 6 Magisk era utile per nascondere il root da applicazioni con questo tipo di controllo, con l'aggiornamento alla versione 7 rilasciato il 3 ottobre e successive, lo sviluppatore topjohnwu ha deciso di puntare più in alto, mirando a fare di Magisk un'interfaccia universale, offrendo la possibilità di installare qualsiasi Mod in modalità systemless attraverso la nuova applicazione Magisk Manager, inclusi Root e Xposed.

Vediamo quindi la procedura di installazione in modo da coprire tutte le possibilità .

1) Dispositivo senza root

2) Dispositivo con SuperSU Systemless o con una precedente versione di Magisk

  • Installare Magisk Manager
  • Effettuare l'installazione/update di Magisk dall'applicazione
  • Riavviare il dispositivo

3) Dispositivo con root in modalità NON systemless

  • Installare SuperSU dal PlayStore
  • Effettuare la procedura di unroot dall'applicazione
  • Riavviare il telefono e seguire i passi di 1)

 Link alla discussione ufficiale su XDA: http://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445

Magisk Hide

 

N.B. Con la versione 9 di Magisk è stato introdotta la scheda Magisk Hide, che permette di "nascondere" il root alle applicazioni selezionate. Sarà quindi sufficiente selezionare Google Play Services (com.google.android.gms), i due demoni associati .policy e .setup e le applicazioni che richiedono un dispositivo "vergine" e senza permessi di root per funzionare (Qualcuno ha detto Pokemon GO?!? pt.2).

N.B.2 Nel caso in cui, anche dopo aver abilitato Magisk Hide non riusciste ad utilizzare le applicazioni protette attraverso SafetyNet, sarà sufficiente installare il modulo Universal SafetyNet Fix e riavviare il dispositivo (attualmente supporta le versioni 12 e 13.1 di Magisk). Il risultato positivo sarà confermato dalla doppia spunta verde nella sezione Controllo SafetyNet di Magisk Manager.

SafetyNet Fixed

Per concludere, se mai doveste avere la necessità di disinstallare Magisk, dopo aver rimosso i moduli direttamente dall'app e aver riavviato il dispositivo, basterà flashare da recovery questo pacchetto zip.


[1] È necessario disporre di una recovery modificata, di conseguenza aver precedentemente sbloccato il Bootloader. La più nota, completa ed utilizzata attualmente è la TWRP ed essendo la procedura di installazione potenzialmente personalizzata per ogni dispositivo, vi rimando al sito ufficiale per maggiori informazioni a riguardo.

[2] Dalla versione 11, trattata nello specifico in questo articolo, non è più necessaria l'installazione del pacchetto phh's Superuser, poichè i binari necessari ai permessi di root sono integrati in Magisk.


android pay android pay root systemless xposed magisk lollipop marshmallow xda supersu safetynet
  • Telegram
  • Whatsapp
chat

Commenti