I motsetning til Magisk, bygger KernelSU inn muligheten til å få rot i selve kjernen. Det lurer skallet til å tro at /system/bin/su eksisterer på enheten.
Root er veldig spesielt for oss på XDA. Det lar brukere ta kontroll over enhetene sine og legge til funksjoner som ikke alltid er tilgjengelige, for eksempel samtaleopptak, temaer og avansert batteriovervåking. Det har vært noen få rotimplementeringer gjennom årene, med den mest populære sannsynligvis SuperSU. Nylig, med introduksjonen av SafetyNet og økende restriksjoner for rotfestede enheter, har Magisk vært rotimplementeringen valg, siden Magisk Hide-funksjonen lar brukere effektivt skjule det faktum at de har root fra apper som Netflix og Google Betale. Implementeringen og funksjonaliteten til Magisk Hide er imidlertid i stor grad et katt-og-mus-spill der Google lapper den og Magisk jobber rundt den oppdateringen.
Magisk kjører i det som er kjent som brukerrom. Det er også her de fleste programmene på telefonen kjører, enten de er spill, musikkspillere eller treningssporere. Det er den brukervendte "plassen" til enhetens operativsystem. Userspace er også der det meste av kampen om Magisk Hide finner sted. Dessverre, ettersom tiden går, og Google patcher flere og flere av Magisk Hides metoder, blir det mindre og mindre plass igjen å skjule. I fremtiden kan Magisk miste evnen til å skjule root fullstendig.
Planlegging for denne eventualiteten, XDA Recognized Developer zx2c4 (Jason Donenfeld), kjent her på XDA for hans arbeid på WireGuard og oppdagelsen av en OnePlus bootloader-sårbarhet, har skapt Kjerneassistert superbruker (KernelSU).
I motsetning til Magisk, bygger KernelSU inn muligheten til å få rot i selve kjernen. Her kaprer den systemanrop for å lure skallet til å tenke /system/bin/su
finnes på enheten, når den faktisk ikke gjør det. Den utfører deretter kommandoer som kjøres med su
som om de var vanlige kommandoer, men med root-privilegier. Denne prosessen kan ikke forhindres av SELinux – kjernen kan til og med deaktivere SELinux hvis den vil – og muligheten til å skjule rotstatus fra brukerområdet, og derfor SafetyNet, er nesten ubegrenset.
KernelSU er imidlertid langt fra komplett. For øyeblikket er det ingen tilgangskontrollmekanisme på plass (tenk Magisk Manager). På grunn av dette er KernelSU for øyeblikket mest nyttig for kjerneutviklere i stedet for brukere. Prosessen med å bygge en kjerne krever at utviklere hele tiden gjenoppbygger og laster oppstartsbilder for å teste og fikse feil og funksjoner, og å ha root gjør dette mye enklere. Men med root-alternativer som Magisk eller SuperSU, må oppstartsbildet lappes etter hver bygg for at root skal fungere, noe som kan påvirke utviklingsprosessen betydelig. KernelSU, på den annen side, er ment å være integrert ved byggetid, uten behov for oppdatering etter bygging. For å gjøre KernelSU-integrasjon enkel for utviklere, er en enkel én-linjes kommando tilgjengelig:
curl -LsS "https://git.zx2c4.com/kernel-assisted-superuser/plain/fetch-and-patch.sh" | bash -
Når dette er utført, kan KernelSU bygges inn i kjernen som en del av den normale byggeprosessen. Det betyr at utviklere kan bygge og teste kjernene sine enkelt, uten å måtte bekymre seg for å legge til root.
Selv om KernelSU er i sine tidlige dager, og mer arbeid er nødvendig for å gjøre det fullt utstyrt, er det et interessant prosjekt. Vi snakket med Magisk-skaper, XDA-anerkjent utvikler topjohnwu, om KernelSU, og han fant det interessant også, og sa at siden KernelSU opererer på kjernenivå, Magisk Hides funksjonalitet ville være mye mer pålitelig hvis den ble lagt til, og at det ville være en "morsom ting å implementere."
Hvis du er en kjerne- eller ROM-utvikler som er interessert i KernelSU, sjekk ut XDA tråd og prosjektets hjemmeside å lære mer.