„SuperSU BETA“: „Android Lollipop“ paleiskite „Stock Kernel“.

Breaking: Chainfire šiandien paskelbė SuperSU Beta 2.27, todėl nebereikia keisti branduolio ramdisko, kad būtų galima naudoti šakninę prieigą „Android 5.0“.

Iki šiol, jei norėjote įgyti root 5.0 versijos Android, turėjote į savo įrenginį įjungti modifikuotą branduolį, kad išvengtumėte kai kurių SELinux apribojimų. XDA vyresnysis pripažintas kūrėjas Grandininis ugnis neseniai išleido anksčiau būtiną CF-Auto-Root paketą, kuris atliko būtinus branduolio ramdisko pakeitimus, kad pašalintų SELinux apribojimą iš install-recovery.sh scenarijaus AOSP. Tačiau šį rytą Chainfire'as daugeliui veidų sukėlė šypsenų, kaip jis paskelbė Twitter kad toliau to nebereikės.

Iki šiol „Chainfire“ planavo išleisti automatinį ZIP pagrindu pagrįstą pataisymo įrankį automatiškai pataisykite branduolio vaizdus iš TWRP atkūrimo, kol jis aptiko tinkamą metodą, kaip pašalinti poreikį tai.

Šis apreiškimas reiškia, kad „Android 5.0“ naudotojams nebereikia paleisti modifikuoto branduolio, kad gautų root prieigą per SuperSU (ar kitus šakninius sprendimus). Nors „Nexus“ įrenginiuose su atrakinamais įkrovos įkrovikliais tai nėra didžiulė problema, reikėjo keisti ramdisko susiję su daugeliu įkrovos įkrovikliu užrakintų įrenginių, kuriems negalima atrakinti, naudotojų (taip, deja egzistuoja). Atsakymas į jų maldas jau čia, ir mes galime pateikti išskirtinį būtinų pokyčių paaiškinimą. Bent jau kol kas (kol / nebent Google tai pataisys) galima gauti root prieigą, o tada įdiegti ir naudoti SuperSU atsarginiame Android 5.0 įrenginyje, nekeičiant branduolio ramdisko. Taip yra dėl to, kad SuperSU reikia paleisti paslaugą kaip root, kad SELinux apsaugotuose įrenginiuose būtų suteikta neribota root prieiga.

Anksčiau SuperSU naudojo iš anksto įdiegtą AOSP flash_recovery paslauga (naudojama AOSP, kad būtų atnaujintas atkūrimas po OTA diegimo), kad būtų paleistas SuperSU demonas (kuris iš tikrųjų suteikia pagrindines teises programoms, kurios to prašo). Išleidus „Lollipop“, ši paslauga buvo įtraukta į ribotą SELinux kontekstą, o tai reiškia, kad ji nebeturi nepriekaištingos prieigos prie sistemos. Ankstesnės branduolio modifikacijos siekė pašalinti SELinux apribojimus iš šio scenarijaus.

Naujausias „Chainfire“ beta versijos SuperSU leidimas tai išsprendžia naudojant pagrindinę „Zygote“ paslaugą (atsakingą už visų „Java“ paslaugų, taigi ir visų įrenginyje įdiegtų programų, paleidimą). Kadangi „Zygote“ yra viena iš vienintelių paslaugų, pasiekiamų „Android L“, kuri paleidžiama kaip root sistemoje neribotas "init" SELinux kontekstas, todėl jis yra pagrindinis tikslas naudoti SuperSU. Po įkrovos „Zygote“ paslaugos SELinux „init“ kontekstas perkeliamas į galutinį (ribotą) „Zygote“ kontekstą. „Chainfire“ sugebėjo sėkmingai modifikuoti „Zygote“ failus, kad galėtų paleisti kodą kaip root naudotojas, neribotame „init“ kontekste, taip grąžinant SuperSU į „Android L“ be branduolio modifikacijas.

Tai ne pirmas kartas, kai „Chainfire“ kreipiasi į „Zygote“, kad išspręstų šias problemas; Ankstesnė 2.23 beta versija naudojo Zygote kaip priemonę, leidžiančią apeiti kai kurias kitas SELinux problemas (dėl kurių pagrindinės programos nutrūko Android L). Tai leido kai kurioms (bet ne visoms) neveikiančioms programėlėms veikti – likusioms programėlėms kūrėjai turi atnaujinti. Deja, pasikonsultavus su 5.0 AOSP kodu, paaiškėjo, kad Google jau sulaužė šį Zygote paslaugos perėmimo būdą. Kadangi visi ankstesni jo bandymai perimti Zygote buvo nesėkmingi, tai yra daug žadantis žingsnis į priekį.

Chainfire norėjo pabrėžti, kad SuperSU jau seniai galėjo pakeisti SELinux politiką veikiančioje sistemoje (ir įspėja, kad kuriuos OĮG galėtų tai išjungti ir tikrai neleisti prasmingos ir paprastos root prieigos) ir kaip turi būti atlikti bet kokie Zygote pakeitimai. atsargiai, nes paslauga vykdoma įvairiuose kontekstuose, skirtingoms užduotims atlikti, todėl kyla daugybė (bjaurių) subtilių nesėkmių. Ši nauja SuperSU beta 2.27 versija skirta entuziastams ir kitiems technikams žaisti, kad sužinotų, kas sugenda. Sukryžiuokite pirštus – nėra jokių netikėtų stabdymo klaidų, ir tai yra perspektyvus kelias.

Atkreipkite dėmesį – net jei ši beta versija pasiteisins ir Zygote yra tinkamiausias būdas gauti root prieigą, visas procesas yra tik vienos eilutės pakeitimas. kad „Google“ jų nesugadintų, todėl pataisyti branduolio ramdikai taptų pagrindine „Android“ prieigos prieiga prie ateities (taip būtų išvengta root prieigos prie įkrovos įkroviklio prietaisai). Iš tiesų, naujasis procesas gali net neveikti visiškai atnaujintoje AOSP versijoje dėl gana didelės SELinux pokyčiai per pastaruosius kelis mėnesius, kurie nebuvo įtraukti į mažmeninės prekybos įrenginius, bet kurie, be jokios abejonės, bus ir ateityje išleidžia. Vis dėlto anksčiau ar vėliau atrodo, kad modifikuoti branduolio ramdikai bus reikalingi root, tačiau ši nauja beta versija gali pasiūlyti trumpą vykdymo sustabdymą, kol turėsime eiti ta kryptimi.

Patikrinkite išleidimo pastabose Norėdami gauti daugiau informacijos apie riziką, susijusią su bandymu, ir nuorodų. Kūrėjai taip pat turėtų žinoti, kad Chainfire šiuo metu sunkiai dirba „Kaip SU“ vadovas (visiškai atnaujinta Android 5.0), kuris turėtų pasirodyti per kelias ateinančias dienas.

[Didžiulis ačiū Chainfire už jo darbą čia ir pagalbą rengiant šį straipsnį.]