W tym wpisie zajmiemy się modyfikacjami systemu z uzyskaniem uprawnień administratora (root, superuser) na czele, co w efekcie pozwoli nam na m. in. działanie bez zakłóceń aplikacji bankowych, blokowanie reklam na poziomie systemu czy izolację niezaufanych aplikacji, a to tylko przedsmak możliwości jakie stoją przed nami otworem.
Wszelkie ingerencje w system zwiększają ryzyko infekcji złośliwym oprogramowaniem lub potencjalnym atakiem wykorzystującym dostęp do podwyższonych uprawnień.
Korzystając ze zmodyfikowanego systemu należy instalować aplikacje tylko z zaufanych źródeł oraz przede wszystkim sprawdzać sumy kontrolne pobieranych plików instalacyjnych systemu, Magiska itp.
Magisk – czyli uzyskujemy prawa ROOTa
Magisk wg. definicji autora jest to „zestaw oprogramowania open source służący do dostosowywania Androida”. Innymi słowy jest to aplikacja i narzędzie pozwalające uzyskać uprawnienia administratora (zamiennie będę używał pojęcia roota) i zarządzać nimi. Dodatkowo pozwala na instalowanie modułów rozszerzających lub modyfikujących działanie systemu, ale o tym w następnej części wpisu.
Najciekawszy i najzabawniejszy zarazem jest fakt, że Magisk wcale nie modyfikuje plików systemowych! W dużym uproszczeniu: Moduły są umieszczane w specjalnym folderze, oryginalne pliki systemowe są „odłączane” od systemu, a pliki modułów są linkowane w ich miejsce. Sprytne i eleganckie rozwiązanie, jednym słowem magia 😀 Dzięki temu moduły możemy dowolnie włączać i wyłączać. I najważniejsze: jeśli któryś z modułów zawiedzie i uniemożliwi uruchomienie systemu – Magisk sam go wyłączy i w konsekwencji system uruchomi się normalnie. Można więc powiedzieć, że jest to bezpieczna modyfikacja.
W tej części skupimy się na poprawnym zainstalowaniu pakietu. Zaczynamy!
- Wchodzimy na stronę Magisk na githubie,
- Rozwijamy Assets przy najnowszej stabilnej wersji oznaczonej jako Latest,
- Pobieramy Magisk-v[wersja].apk,
- Zmieniamy nazwę i rozszerzenie z *.apk na *.zip (magisk.zip),
- W telefonie chodzimy w ustawienia, szukamy menu Menu zasilania,
- Zaznaczamy Opcje ponownego uruchamiania,
- Przytrzymujemy przycisk zasilania, wybieramy Uruchom ponownie – > Recovery,
- Gdy telefon uruchomi się w trybie Recovery, wybieramy
Apply update
, następnieApply from ADB
,
- Na komputerze otwieramy Terminal (instrukcja w poprzednim artykule),
- Wpisujemy:
adb -d sideload magisk.zip
,
- Na ekranie telefonu pojawi się ostrzeżenie o braku podpisu, potwierdzamy,
- Po zakończonej instalacji wracamy w recovery do głównego menu i wybieramy
reboot
,
- Gdy telefon się uruchomi, otwieramy Magisk. Zapyta czy pobrać aplikację – potwierdzamy,
- Aplikacja może pytać o kolejne kroki, postępujemy zgodnie z instrukcjami,
- Jeśli będzie wymagała przeinstalowania pakietu, wybieramy bezpośrednia instalacja (zalecane) (screen 1),
- Po zakończonej instalacji naciskamy Reboot (screen 2), telefon uruchomi się ponownie,
- Po udanej instalacji i ponownym uruchomieniu aplikacji powinien ukazać nam się taki widok: (screen 3).
Magisk – moduły
Nadszedł czas na najciekawszą część, czyli moduły modyfikujące/rozszerzające możliwości systemu 😀
Play Integrity Fix – naprawiamy „prawilność” systemu wg. wujka G
Moduł jest niezbędny do działania aplikacji bankowych!
Wraz z rozwojem Androida wujek Google poczuł konieczność zabezpieczenia swojego systemu w jakiś sposób. Zabezpieczenie to obecnie nazywa się Play Integrity (wcześniej Safety Net). Polega ono na tym że aplikacja z naszego telefonu może sięgnąć do serwerów Google po informację czy nasz system nie jest zmodyfikowany w żaden sposób. Jeśli otrzyma odpowiedź negatywną może wyświetlić tylko ostrzeżenie lub całkowicie odmówić uruchomienia się. Zazwyczaj robią tak aplikacje bankowe (np. mBank), fintechy (np. Revolut) lub rządowe (np. mObywatel). Nie ma problemu jeśli zobaczymy ostrzeżenie – klikamy że jesteśmy świadomi „zagrożenia” i przechodzimy do aplikacji. Problem zaczyna się kiedy aplikacja całkowicie odmawia działania. Jako że nasz system jest ewidentnie zmodyfikowany (mamy odblokowany bootloader + uprawnienia roota), to poniższa metoda może okazać się koniecznością aby uruchomić aplikacje bankowe. Właśnie w tej sytuacji wchodzi Play Integrity Fix cały na biało!
Instalujemy Play Integrity Fix
- Pobieramy moduł PlayIntegrityFix z githuba,
- Otwieramy Magisk, przechodzimy do zakładki Moduły, klikamy Zainstaluj z pamięci (screen 1),
- Wskazujemy na PlayIntegrityFix, potwierdzamy OK (screen 2),
- Po udanej instalacji wybieramy Reboot (screen 3),
- Po restarcie otwieramy ponownie w Magisk, zakładka moduły,
- Przy module klikamy w > Action (screen 4),
- Gdy skrypt zakończy działanie klikamy X Close (screen 5).
W tym momencie możemy wejść w ustawienia microG – > Google SafetyNet i klikamy Wypróbuj działanie SafetyNet. Powinien się wyświetlić komunikat wszystkie testy zakończone powodzeniem.
Gwoli uczciwości należy wspomnieć, że powyższymi sposobami ominiemy dwa z trzech stopni zabezpieczeń: Basic_integrity i Device_integrity. W dalszym ciągu pozostaje niespełnione Strong_integrity, czyli flaga mówiąca że mamy odblokowany bootloader. Jeśli w przyszłości jakieś aplikacje zaczną wymagać spełnienia Strong_integrity, to możemy mieć problem. Istnieje co prawda metoda obejścia tego problemu (a jakże!), jednak na daną chwilę jest ona dość trudna do wykonania. Póki co na szczęście niepotrzebna.
Pozostało jeszcze kilka prostych „wyklikalnych” kroków:
- Otwieramy Magisk, w prawym górnym rogu jest ikona ustawień – otwieramy
- Wybieramy Ukryj aplikację Magisk, wpisujemy swoją nazwę i potwierdzamy – aplikacja uruchomi się ponownie (screen 1 i 2)
- wchodzimy jeszcze raz w ustawienia
- zaznaczamy Zygisk – wymagany restart smartfona (screen 1)
- zaznaczamy Egzekwowanie listy odmów (screen 1)
- Otwieramy Konfiguracja listy odmów, klikamy na nazwę interesującej nas aplikacji i zaznaczamy wszystkie suwaki (screen 3)
Tymi czynnościami ukryliśmy aplikację Magisk przed wścibskimi apkami bankowymi.
I Voilà! mamy prawie „prawilny” system! Działają nam aplikacje bankowe, fintechy i rządowe. Osobiście nie miałem żadnych problemów z działaniem wyżej wymienionych aplikacji poza jedną: Revolut. Wygląda na to że autorzy znaleźli jakiś sposób na obejście obejścia zabezpieczeń ( 😀 ), Jednak jest to wyjątek od reguły. Dodatkowo aplikacja nie pozwala na logowanie przez przeglądarkę. Jednym słowem jest to „bank” uzależniony od aplikacji. Bardzo nieładne podejście do klienta, stracili przez to co najmniej jednego. Gorąco nie polecam. Jako że Revolut na szczęście nie jest monopolistą, to łatwo przeniosłem się do konkurencji. Koniec dygresji.
spróbujcie zrobić screena w aplikacji bankowej 😉
Muszę zaznaczyć że takie obchodzenie zabezpieczeń to niestety zabawa w kotka i myszkę. Google poprawia swoje zabezpieczenia, a autorzy PlayIntegrityFix poprawiają metody ich obchodzenia. W związku z tym, warto regularnie aktualizować moduł. Najlepszym jednak sposobem jest rezygnowanie z usług firm utrudniających korzystanie świadomym użytkownikom – w takim przypadku może firma/bank poluźni kaganiec. To niestety utopijne marzenie w skali naszego społeczeństwa, więc wracamy do zabawy w kotka i myszkę 😉 .
Istnieje jeszcze jedna metoda dostępu do banków. Z technicznego punktu widzenia jest to właściwy sposób, poza tym nie wymaga żadnego obchodzenia zabezpieczeń. Wystarczy przeglądarka internetowa – jak w pececie. Jedyne co musimy zrobić, to ustawić user agenta „na sztywno” aby przedstawiała się jako wersja desktopowa. Jednak odbywa się to kosztem wygody, ponadto nie działa w przypadku serwisów dostępnych tylko przez aplikację. Szczegóły omówię w następnym wpisie.
AdAway – żegnamy reklamy
Sposób na pozbycie się reklam we wszystkich aplikacjach zainstalowanych na naszym telefonie (o ile posiadacie jakieś spoza F-Droid 😉 ). Jako że posiadamy uprawnienia roota, nie potrzebujemy robić obejść w postaci VPNów.
Działanie aplikacji polega na pobraniu list adresów reklamodawców. Następnie wszystkie listy zapisywane są do pliku hosts w telefonie. Plik ten w naszym przypadku odpowiedzialny jest za przekierowanie dodanych adresów na nasz lokalny. W skutek tego działania aplikacja chcąca pobrać reklamę z np. https://wp.pl trafia na nasz lokalny adres urządzenia (https://127.0.0.1) i otrzymuje „nic” zamiast baneru 😉 Aktualizacje list odbywają się automatycznie.
Instalacja:
- otwieramy Magisk
- otwieramy ustawienia i klikamy Hosty Systemless (screen 4)
- Restartujemy telefon
- pobieramy AdAway z F-Droid
- po otwarciu wybieramy metodę Blokowanie na bazie Root (screen 1)
- pojawi się standardowy monit o udzielenie zgody na dostęp do uprawnień administratora – udzielamy (screen 2), idziemy DALEJ
- ukazuje nam się okno aplikacji. Jeśli wygląda jak na screenie 3, to wszystko działa poprawnie.
PS. Chcąc pokazać porównanie wyglądu aplikacji z reklamami i bez, wyłączyłem AdAway. Okazało się, że „niestety” mimo wyłączenia blokady reklam te się dalej nie wyświetlały. Być może jest to zasługa microG 🙂 Muszę jeszcze to przetestować i potwierdzić. Jeśli to prawda, znaczy że AdAway jest w naszym przypadku zbędny 😛 .
Insular – piaskownica dla niezaufanych aplikacji
Insular to aplikacja, która tworzy nam dodatkowe środowisko, taki „telefon w telefonie” czyli ogólnie zwana piaskownica dla aplikacji. Program opiera się na funkcji telefonu zwanej Profil Służbowy. Aplikacje zainstalowane w nim znajdują się w osobnej wydzielonej przestrzeni, mają dostęp do osobnej książki telefonicznej, osobnego konta Google (albo jego braku), mają oddzielne ustawienia systemowe itp. Insular może być użyty także jako sposób na proste klonowanie aplikacji, które np. nie zezwalają na dostęp do dwóch kont jednocześnie.
- Instalujemy Insular z F-Droid,
- Aby skopiować aplikację do „wyspy” zaznaczmy ją i klikamy ikonę plusa na dolnej listwie,
- Wybieramy środowisko Island, pojawi się monit o dostęp do roota – klikamy zezwól,
- aplikacja jest już „na wyspie”. W tym przypadku jest to Aurora Store (więcej w kolejnym wpisie) – możemy z niej instalować aplikacje bezpośrednio do piaskownicy.
MMRL – repozytoria i aktualizacje modułów Magiska
MMRL czyli Magisk Module Repo Loader – Program zarządzający, instalujący i aktualizujący moduły do Magiska. Dla mnie przydatny głównie ze względu na automatyczne aktualizacje oraz wyszukiwanie modułów (sam Magisk już nie zapewnia tej funkcjonalności). Raj dla tych co lubią grzebać pod maską – można przebierać w modułach znajdujących się w kilku repozytoriach.
- Pobieramy aplikację w wersji latest z githuba i instalujemy
- Po otwarciu aplikacji wybieramy Magisk, udzielamy zgodny dla Superusera i jesteśmy w aplikacji (screen 2),
- Jeśli nie wystarczy nam jedno domyślne repozytorium w programie to kopiujemy interesujący nas adres repozytorium z listy (screen 3),
- Przechodzimy do zakładki Repozytoria, klikamy ikonkę pudełka w prawym dolnym rogu (screen 4),
- wklejamy adres, zatwierdzamy i możemy przebierać w modułach.
Cromite WebView – wykastrowany Chromium (Chrome) WebView

Co to jest WebView? Najprościej opisać go można jako przeglądarkę internetową, z której korzystają aplikacje. Tak jak my otwieramy np. Firefoxa żeby odwiedzić witrynę, tak np. aplikacja Allegro korzysta z WebView aby renderować treść portalu i wyświetlać wewnątrz aplikacji (która jest niejako „ramą” dla WebView). Każdy telefon z systemem Android posiada wbudowany silnik WebView oparty o Chromium. Domyślnie można go zmienić jedynie na „prawilny” Chrome (jeszcze gorszy niż Chromium), więc można powiedzieć, że nie mamy wyboru. A że mamy już uprawnienia roota, więc możliwość wyboru powróciła.
W tym wątku skupimy się na Cromite WebView czyli dalece zmodyfikowanym pod kątem prywatności silniku Chromium WebView. Tutaj znajduje się pokaźna lista modyfikacji. Jest tak długa, że została podzielona na kategorie:
- Usuwanie śladów (anti fingerprinting)
- Redukcja śledzenia
- Prywatność
- Usuwanie zależności Google
- Bezpieczeństwo
- Rozszerzenia funkcjonalności.
Jest to bardzo znacząca modyfikacja poprawiająca naszą prywatność. Dlaczego dałem ją na końcu listy? Chwilowo istnieje dość nieelegancka metoda instalacji Cromite WebView w systemie ze względu na brak modułu magiska – ingerujemy bezpośrednio w system. W przyszłości jak powstanie moduł to zaktualizuję wpis i przeniosę na górę.
Ponadto należy dodać, że w związku z ogromem poczynionych zmian Cromite może cechować się pewną dozą niestabilności. Osobiście takowej nie uświadczyłem – wspominam z obowiązku.
Instalacja:
- Pobieramy Cromite WebView z githuba, plik arm64_SystemWebView.apk
- otwieramy menedżer plików (polecam Total Commander)
- wchodzimy w [główny katalog systemu]/product/
- kopiujemy cały folder webview jako kopię zapasową gdzieś do pamięci telefonu
- wchodzimy do [główny katalog systemu]/product/webview
- usuwamy całą zawartość folderu
- zmieniamy nazwę pobranego Cromite WebView na webview.apk
- kopiujemy do [główny katalog systemu]/product/webview
- restartujemy telefon
- z poziomu menedżera plików instalujemy ten sam pobrany webview.apk jako aktualizację
UWAGA! przed każdą aktualizacją systemu należy odinstalować aktualizację Cromite WebView, gdyż aktualizacja systemowa nadpisze podmienionego Cromite swoim WebView! W związku z tym może nastąpić konflikt podpisów w skutek czego mogą wystąpić błędy – przetestuję przy najbliższej aktualizacji i potwierdzę. Po aktualizacji systemu trzeba ponowić procedurę.
I to by było na tyle. Wodotrysków nie uświadczymy, ale mamy świadomość większej ochrony naszej prywatności i przede wszystkim zerwaliśmy wszelkie więzi z wujkiem G 🙂
Podsumowanie
Omówiłem subiektywnie najistotniejsze modyfikacje/moduły dodające „mocy” naszemu Robocikowi. Wpis ten pierwotnie miał być krótszy, jednak chcąc być dokładny musiałem go trochę rozbudować. Z góry przepraszam za nietechniczny język i pewne nadmierne uproszczenia w opisach, szczególnie specjalistów, którzy mogą być oburzeni tym co wypisuję 😉 Ale taki jest mój zamiar – by osoby nietechniczne mogły zrozumieć co chcę przekazać.
Wady i zalety
zalety
- Uruchomimy aplikacje bankowe (pomimo kłód stawianych nam pod nogi przez wujka G)
- Zadbamy o swoją prywatność,
- Pozbędziemy się reklam,
- Możliwość dostosowania systemu pod swoje preferencje,
- Duużo więcej (polecam przejrzeć repo modułów Magiska) – może kiedyś popełnię o tym wpis.
Wady
- Ortodoksyjni zwolennicy bezpieczeństwa ponad wszystko będą twierdzić, że uzyskanie uprawnień roota zagraża bezpieczeństwu całego systemu. Pewnie jest w tym trochę racji, jednak desktopowe systemy GNU/Linux mają domyślnie dostęp do uprawnień administratora i mimo tego są uważane za bezpieczne,
- Pewien poziom skomplikowania dla niewtajemniczonych,
- Niektóre moduły mogą powodować niestabilność systemu.