Magisk, det populære Android rooting-værktøj, vil fortsat blive udviklet af topjohnwu, men uden dens root-skjul-funktion kaldet MagiskHide.
Tilbage i maj, topjohnwu, udvikleren af Magisk, annonceret at han havde sluttet sig til Google på Android Platform Security Team. I betragtning af at Magisk bruges til at roote Android-enheder og også omgå roddetektionsforanstaltninger i apps, var mange det skeptisk over, at Google ville tillade udvikleren at fortsætte arbejdet med projektet i dets nuværende form, eller endda kl alle. Heldigvis har topjohnwu fået grønt lys til at fortsætte med at udvikle Magisk, men denne godkendelse er betinget af, at projektet dropper støtten til sin rodskjulningsfunktion kaldet MagiskHide.
I et blogindlæg, topjohnwu adresserer den nuværende tilstand af Magisk-udvikling og hvad der ændrer sig for projektet fremadrettet. Hans første pointe tilbageviser beskyldningerne om, at hans arbejdsgiver, Google, havde forbudt ham at arbejde på projektet, da han i virkeligheden bare skulle skære igennem en masse bureaukrati for at få den godkendelse, han havde brug for til at arbejde på projekt. Det er ikke usædvanligt, at teknologivirksomheder som Google gransker det eksterne arbejde, som dets ansatte udfører, især når det eksterne arbejde direkte påvirker det produkt, som medarbejderen blev ansat til at arbejde på. I topjohnwus tilfælde giver hans job på Android Platform Security Team ham privilegeret indsigt i Androids nuværende og fremtidige sikkerhedsforanstaltninger, hvilket præsenterer en åbenlys interessekonflikt, når MagiskHide — Magisks rodskjulende komponent — er designet til at omgå en af Googles nuværende sikkerhedsforanstaltninger, nemlig SafetyNet Attestation. Af denne grund har topjohnwu intet andet valg end at stoppe udviklingen på MagiskHide samt fjerne det meste af dets infrastruktur.
MagiskHide når end-of-life
At afslutte udviklingen på MagiskHide var dog ikke en svær beslutning for topjohnwu at tage. På det personlige plan fortæller udvikleren, at det er et stykke tid siden, han sidst fandt det sjovt at arbejde på omgå roddetektionsmetoder, hvilket er forståeligt, fordi det i bund og grund er en kat-og-mus spil. Selvfølgelig kan Magisks popularitet i vid udstrækning tilskrives dens succes med at omgå roddetektion i Google Pay og Pokémon Go, men det bliver trættende at skulle hele tiden lappe projektet bare for at følge med i det stadigt skiftende landskab. Plus, med hardware-understøttet attestation i leg bliver det langt vanskeligere at omgå roddetektion, og nuværende løsninger virker måske ikke for evigt.
Selvom MagiskHide er ved at nå end-of-life-status, vil værktøjet stadig eksistere i en meget begrænset forstand, da topjohnwu mener, at det er vigtigt, at apps har mulighed for at "fravælge" modding. Udvikleren siger, at brugere "vil være i stand til at tildele en afvisningsliste over processer, hvor Magisk nægter yderligere ændringer og fortryder alle ændringer, den havde foretaget. Magisk vil ikke forfalske/ændre/manipulere nogen ikke-Magisk-relaterede signaler eller spor for at omgå enhver enhedstilstandsdetektion." MagiskHide vil ikke længere skjule root-adgang fra apps og vil i stedet blive brugt til at sikre, at brugervalgte apps ikke bliver modificeret. At gøre det nemmere at fortryde ændringer vil også fremskynde testning på emulatorer, da udviklere ikke længere skal genstarte eller lappe emulatorbilleder.
Selvfølgelig, selvom den officielle Magisk-app dropper support til at skjule root-adgang betyder ikke, at det ikke kan gafles for at bringe funktionen tilbage, eller at et root-skjul-modul ikke kan frigives. Enhver udviklere, der gør dette, vil dog til sidst løbe ind i de samme problemer, som topjohnwu gjorde, altså de bliver nødt til at spille det samme kat-og-mus-spil, der bidrog til, at topjohnwu blev desillusioneret med Skjule.
Slutningen af den centraliserede Magisk Module Repo
En anden kommende ændring af Magisk er fjernelse af Magisk-modulets repo fra appen. Integrationen af Magisk-Moduler-Repo ind i Magisk-appen er det, der i øjeblikket giver brugerne mulighed for at søge og downloade moduler fra appen. Dens fjernelse vil betyde, at brugere manuelt skal downloade modul ZIP-filer og installere dem fra inden for appen, hvilket er lidt ubelejligt i forhold til den eksisterende løsning, men slet ikke svært at gøre. Plus, apps, der kommer med en Magisk-modulkomponent, kan nemt installere modulet for brugeren ved at køre magisk --install-module ZIP
kommando, der tager det manuelle skridt ud af ligningen for brugere.
Det største tab er dog for opdagelse af nye moduler gennem den centraliserede, kurerede repo, men topjohnwu siger, at Magisk-Modules-Repo vil blive overført til "betroede fællesskabsmedlemmer" snart. Det betyder selve repoen vil ikke være væk, men appen peger ikke på det lige nu. Til sidst dog topjohnwu ønsker at lade brugere pege Magisk-appen til den online modulkilde, de ønsker, lidt ligesom F-Droid, men dette er ikke en høj prioritet for ham at implementere i øjeblikket.
Denne ændring var ikke foranlediget af topjohnwus ansættelse hos Google, men var i stedet nødt til at ske i betragtning af den tidsinvestering, der krævede for at moderere repoen.
Zygist - Magisk i Zygote
I de sidste mange måneder har topjohnwu og flere andre udviklere arbejdet på noget, der hedder "Zygisk", som er Magisk i Zygote. Zygote er OS-processen, der håndterer forgrening af hver ansøgningsproces, så At køre dele af Magisk i zygote-processen vil gøre moduler endnu mere robuste (inklusive at gøre rodskjulning endnu mere kraftfuld). Topjohnwu siger, at Zygisk også opfylder hans filosofi om, at Magisk "kommer af vejen" for apps, hvis udviklere ikke godkender modding, som når en proces føjes til MagiskHide-afvisningslisten, vil Magisk "rydde op i processens hukommelsesplads for at sikre, at ingen modding er anvendt."
Dette projekt er stadig i gang, men vi hører flere implementeringsdetaljer, når det er klar til betatestning.
Fremtiden for Magisk udvikling
Magisk startede og forbliver et hobbyprojekt for topjohnwu, men udvikleren ønsker at tage projektet mere seriøst. Han har allerede startet op kontinuerlig integration på GitHub og vil begynde at ændre regressionstest før hver udgivelse ved at integrere med AVD.
Topjohnwu bemærker også, at andre talentfulde udviklere har indsendt værdifulde kodeændringer til kernen af Magisk, rettet mange fejl og udvidet enhedskompatibilitet. På trods af at det har været open source fra begyndelsen, har Magisk været topjohnwus eneste domæne, så det er rart at se andre mennesker bidrage til projektet, når topjohnwu har mindre tid og energi til at afsætte til det ham selv.