<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Android on Morfitronik</title>
    <link>https://morfikov.github.io/categories/android/</link>
    <description>Recent content in Android on Morfitronik</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>pl-PL</language>
    <lastBuildDate>Sun, 29 Jan 2023 19:33:00 +0100</lastBuildDate><atom:link href="https://morfikov.github.io/categories/android/feed.xml" rel="self" type="application/rss+xml" />
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Martwy smartfon Xiaomi Redmi 9 i jego odzysk via SP Flash Tool</title>
      <link>https://morfikov.github.io/post/martwy-smartfon-xiaomi-redmi-9-i-jego-odzysk-via-sp-flash-tool/</link>
      <pubDate>Sun, 29 Jan 2023 19:33:00 +0100</pubDate>
      
      <guid>https://morfikov.github.io/post/martwy-smartfon-xiaomi-redmi-9-i-jego-odzysk-via-sp-flash-tool/</guid>
      <description>&lt;p&gt;Przeglądając ostatnio stronę &lt;code&gt;xiaomifirmwareupdater.com&lt;/code&gt; zauważyłem, że jest tam &lt;a href=&#34;https://xiaomifirmwareupdater.com/firmware/lancelot/&#34;&gt;dostępna nowsza
wersja firmware dla mojego telefonu Xiaomi Redmi 9&lt;/a&gt; (lancelot/galahad). Patrząc po numerkach
&lt;code&gt;V13.0.1.0.SJCEUXM&lt;/code&gt; (nowy dla Android 12) oraz &lt;code&gt;V12.5.4.0.RJCEUXM&lt;/code&gt; (stary dla Android 11), miałem
pewne wątpliwości czy wgrać sobie ten nowszy firmware. Niby na tym smartfonie mam wgrany &lt;a href=&#34;https://crdroid.net/lava/8&#34;&gt;ROM
crDrdoid v8.9&lt;/a&gt;, który dostarcza Androida 12.1, więc &lt;a href=&#34;https://morfikov.github.io/post/jak-zaktualizowac-firmware-custom-rom-w-smartfonach-xiaomi/&#34;&gt;aktualizacja firmware sposobem opisanym
tutaj&lt;/a&gt; powinna przebiec bez żadnych problemów. No i przebiegła, tylko po zrestartowaniu telefonu,
ten już się nie uruchomił. Działał mi jedynie tryb fastboot (normalny boot i tryb recovery były
martwe). Postanowiłem przywrócić poprzedni firmware wydobywając obrazy ze starej paczki firmware i
ręcznie przy pomocy narzędzia &lt;code&gt;fastboot&lt;/code&gt; wgrać te obrazy na odpowiadające im partycje w telefonie z
poziomu mojego Debiana. Tutaj jednak zostało poczynionych parę błędów (o tym później), które
doprowadziły do całkowitego uwalenia telefonu (hard brick), gdzie nawet tryb fastboot zdechł. W
efekcie telefon już nie reagował na żadne kombinacje przycisków, a ekran pozostawał czarny -- jednym
słowem nie działał żaden tryb pracy telefonu i wyglądało na to, że mam w łapkach już tylko sam złom
elektroniczny i tak by w istocie było, gdyby z pomocą nie przyszedł mi SP Flash Tool.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Jak zainstalować Magisk bez dostępu do TWRP/SHRP recovery</title>
      <link>https://morfikov.github.io/post/jak-zainstalowac-magisk-bez-dostepu-do-twrp-shrp-recovery/</link>
      <pubDate>Mon, 28 Feb 2022 19:46:00 +0100</pubDate>
      
      <guid>https://morfikov.github.io/post/jak-zainstalowac-magisk-bez-dostepu-do-twrp-shrp-recovery/</guid>
      <description>&lt;p&gt;Parę dni temu na mój telefon Xiaomi Redmi 9 (lancelot/galahad/shiva/lava) &lt;a href=&#34;https://crdroid.net/lava/8&#34;&gt;została wypuszczona
aktualizacja ROM&#39;u crDroid&lt;/a&gt;, który bazuje na AOSP/LineageOS. Ten update nie tylko miał
uwzględnione najnowsze poprawki bezpieczeństwa ale również podbijał wersję Androida z 11 na 12.
Problem w tym, że TWRP/SHRP recovery ma problemy z obsługą sposobu szyfrowania partycji &lt;code&gt;/data/&lt;/code&gt; ,
który najwyraźniej uległ przeobrażeniu w Androidzie 12. Efektem braku wsparcia dla szyfrowania w
TWRP/SHRP jest naturalnie brak możliwości wgrywania danych na partycję &lt;code&gt;/data/&lt;/code&gt; . Niestety niesie
to za sobą przykre konsekwencje w postaci uniemożliwienia użytkownikowi przeprowadzenia procesu
patch&#39;owania obrazu partycji &lt;code&gt;/boot/&lt;/code&gt; z poziomu trybu recovery, czego efektem jest brak możliwości
zainstalowania Magisk&#39;a w systemie smartfona. Bez Magisk&#39;a nie damy rady ukorzenić systemu, tj.
uzyskać w nim praw administratora root. Na szczęście nie wszystko stracone. Magisk&#39;a można
zainstalować w telefonie ręcznie przy pomocy ADB oraz trybu bootloader&#39;a (fastboot) eliminując tym
samym potrzebę przełączenia się w tryb recovery. Niniejszy artykuł ma na celu pokazanie jak
zainstalować Magisk&#39;a bez odwoływania się do trybu TWRP/SHRP recovery.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Tryb bezczynności baterii (IDLE mode) w smartfonach z Androidem</title>
      <link>https://morfikov.github.io/post/tryb-bezczynnosci-baterii-idle-mode-w-smartfonach-z-androidem/</link>
      <pubDate>Sun, 06 Feb 2022 17:52:00 +0100</pubDate>
      
      <guid>https://morfikov.github.io/post/tryb-bezczynnosci-baterii-idle-mode-w-smartfonach-z-androidem/</guid>
      <description>&lt;p&gt;Gdy zapytamy użytkowników smartfonów z Androidem o to, czy taki sprzęt jest w stanie pracować z
pominięciem układu baterii, zapewne wiele z tych osób odpowiedziałoby, że nie ma takiej opcji, bo
przecież w tych telefonach od lat baterii się już nie da wyciągnąć. Nawet w tych starszych
modelach, po wyjęciu baterii i podłączeniu ładowarki, system w takim urządzeniu nie chciał się
uruchomić. Okazuje się jednak, że nie trzeba wyjmować akumulatora ze smartfona, by to urządzenie
było w stanie działać z pominięciem układu baterii, tj. w tzw. trybie bezczynności baterii (battery
IDLE mode), coś na wzór rozwiązania stosowanego od dekad w laptopach. Niemniej jednak, takiej
funkcjonalności zwykle nie uświadczymy w stock&#39;owych Androidach. Możemy się jednak o nią postarać
ale do tego celu niezbędne będzie nam uzyskanie praw administratora systemu root, choć lepiej wgrać
sobie na smartfon ROM na bazie AOSP/LineageOS. Bez ukorzenionego Androida nie mamy nawet co
podchodzić do implementacji tego mechanizmu. Dodatkowo będzie nam potrzebny &lt;a href=&#34;https://github.com/VR-25/acc&#34;&gt;zaawansowany kontroler
ładowania baterii ACC&lt;/a&gt; (w postaci modułu do Magisk&#39;a) i opcjonalnie też &lt;a href=&#34;https://github.com/MatteCarra/AccA&#34;&gt;graficzna nakładka
ACCA&lt;/a&gt; (do pobrania z F-Droid). W poniższym artykule postaramy się odpowiedzieć na pytanie czy
takie rozwiązanie na bazie IDLE mode w przypadku baterii w smartfonach z Androidem ma w ogóle sens
i czy może nam się ewentualnie do czegoś przydać.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Nagrywanie rozmów telefonicznych w smartfonie z Androidem</title>
      <link>https://morfikov.github.io/post/nagrywanie-rozmow-telefonicznych-w-smartfonie-z-androidem/</link>
      <pubDate>Sun, 23 Jan 2022 18:11:00 +0100</pubDate>
      
      <guid>https://morfikov.github.io/post/nagrywanie-rozmow-telefonicznych-w-smartfonie-z-androidem/</guid>
      <description>&lt;p&gt;Właściciele smartfonów mają zwykle podpisane umowy ze swoimi operatorami GSM na świadczenie usług
telefonicznych. Pakiety rozmów oferowane przez tych operatorów już od dłuższego czasu są
nielimitowane, co z kolei zachęca abonentów do głosowego komunikowania się przy pomocy tych małych
lecz przy tym bardzo zaawansowanych technologicznie komputerów. Nie ma obecnie chyba sprawy, której
nie można załatwić telefonicznie, a że coraz dłużej wisimy na słuchawce, to też sporo informacji z
takich rozmów nam bezpowrotnie ucieka, np. imię i nazwisko osoby, z którą rozmawialiśmy, nie
wspominając o całej masie innych rzeczy, które mogą paść podczas choćby negocjowania/przedłużania
jakiegoś kontraktu. Gdy w późniejszym czasie zorientujemy się, że coś jest nie tak, to możemy mieć
poważny problem z udowodnieniem swoich racji, np. że zostaliśmy celowo wprowadzeni w błąd. Gdybyśmy
dysponowali nagraniem z takiej rozmowy, to bez problemu można by się do niego odnieść i nikt by nie
miał wątpliwości po czyjej stronie byłaby racja. Niemniej jednak, smartfony z Androidem mają
ogromny problem z nagrywaniem dźwięku audio podczas tego typu konwersacji, czego efektem jest brak
możliwości niezależnego rejestrowania rozmów telefonicznych. Jeśli jednak posiadamy ukorzenionego
Androida (dostęp do praw administratora root), to możemy te obostrzenia obejść zaprzęgając do pracy
aplikację Call Recorder.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Randomizacja adresów MAC WiFi w smartfonie z Androidem</title>
      <link>https://morfikov.github.io/post/randomizacja-adresow-mac-wifi-w-smartfonie-z-androidem/</link>
      <pubDate>Fri, 15 Oct 2021 19:46:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/randomizacja-adresow-mac-wifi-w-smartfonie-z-androidem/</guid>
      <description>&lt;p&gt;Posiadacze smartfonów z Androidem w wersji 10+ rzadko kiedy orientują się, że w tej wersji został
wprowadzony dość &lt;a href=&#34;https://source.android.com/devices/tech/connect/wifi-mac-randomization&#34;&gt;ciekawy mechanizm mający na celu poprawnie prywatności&lt;/a&gt; osób korzystających z
takich urządzeń. Chodzi o randomizację adresów MAC przy połączeniach z sieciami WiFi. Nie zawsze
ten mechanizm jest włączony domyślnie, przez co w kwestii prywatności użytkowników telefonów
niewiele się zmienia, np. tak jest w przypadku mojego Xiaomi Redmi 9. Samo włączenie randomizacji
MAC nie jest niczym skomplikowanym i nie trzeba do tego nawet praw administratora root (stosowna
opcja jest do załączenia w oknie konfiguracji połączenia WiFi). Zwykle jednak przy wykorzystaniu
standardowej randomizacji MAC mamy generowany unikalny adres MAC dla danej sieci WiFi (w oparciu o
jej ESSID). Można jednak pójść o krok dalej i sprawić, że przy każdym połączeniu, nawet do tej
samej sieci WiFi, będziemy mieli generowany inny adres MAC, co z kolei powinno nam zapewnić nieco
więcej prywatności w publicznych sieciach WiFi oraz też przeciwdziałać śledzeniu nas przy roamingu
między takimi sieciami.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Zmiana implementacji WebView z Google/AOSP na Bromite w Androidzie</title>
      <link>https://morfikov.github.io/post/zmiana-implementacji-webview-z-google-aosp-na-bromite-w-androidzie/</link>
      <pubDate>Fri, 08 Oct 2021 23:47:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/zmiana-implementacji-webview-z-google-aosp-na-bromite-w-androidzie/</guid>
      <description>&lt;p&gt;Przeglądając ostatnio opcje deweloperskie w swoim telefonie z Androidem 11, wpadła mi w oczy pozycja
&lt;code&gt;WebView implementation&lt;/code&gt; . Nie ukrywam, że trochę mnie ona zainteresowała i zacząłem się
zastanawiać czym tak naprawdę jest ten cały WebView. Mój smartfon działa aktualnie pod kontrolą
crDroid (ROM na bazie AOSP/LineageOS) i nie jest on sprzęgnięty z usługami od Google (brak
jakichkolwiek GAPPS&#39;ów). Dlatego też w tym przypadku w implementacji WebView widnieje w zasadzie
tylko jedna opcja, tj. Android System WebView. W przypadku stock&#39;owych ROM&#39;ów producentów telefonów
będziemy mieli zaś do czynienia z Google System WebView. Jakby nie patrzeć, zarówno Android/AOSP
System WebView, jak i Google System WebView pochodzą od Google, który niezbyt troszczy się o naszą
prywatność. W mojej głowie pojawiło się zatem pytanie na temat tego czym te dwie implementacje się
od siebie różnią, no i naturalnie też czy są jakieś alternatywne implementacje WebView, z których
można by skorzystać zastępując te domyślnie preinstalowane?&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Po co smartfonom Xiaomi ROM&#39;y fastboot i jak z nich korzystać</title>
      <link>https://morfikov.github.io/post/po-co-smartfonom-xiaomi-rom-fastboot-i-jak-z-nich-korzystac/</link>
      <pubDate>Tue, 05 Oct 2021 00:47:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/po-co-smartfonom-xiaomi-rom-fastboot-i-jak-z-nich-korzystac/</guid>
      <description>&lt;p&gt;Przeglądając jakiś czas temu oficjalną stronę Xiaomi w poszukiwaniu nowszych wersji oficjalnego
ROM&#39;u na mój smartfon Redmi 9, zauważyłem, że są tam dostępne &lt;a href=&#34;https://c.mi.com/oc/miuidownload/detail?guide=2&#34;&gt;instrukcje na temat wgrania&lt;/a&gt;
takiego oprogramowania za pomocą trybu &lt;code&gt;fastboot&lt;/code&gt;. Trochę się zdziwiłem, bo przecie ROM&#39;y
dostarczane są w paczkach &lt;code&gt;.zip&lt;/code&gt; , przez co nie są one przeznaczone do wgrywania w tym trybie. Tak
czy inaczej, zgodnie z informacją, która widnieje na tamtej stronie, te linki do obrazów fastboot
jeszcze nie zostały wypuszczone, przynajmniej oficjalnie. Nieoficjalnie zaś można je pobrać ze
strony &lt;a href=&#34;https://xiaomifirmwareupdater.com/miui/lancelot/&#34;&gt;xiaomifirmwareupdater.com&lt;/a&gt;. To, co się rzuca od razu w oczy, to rozmiar takiego pliku,
bo standardowo pliki z ROM&#39;em MIUI ważą około 2,2 GiB. ROM&#39;y fastboot mają rozmiar około 4,5 GiB.
Kolejna sprawa, to rozszerzenie samego pliku. W przypadku standardowego ROM&#39;u mamy &lt;code&gt;.zip&lt;/code&gt; , a ROM&#39;y
fastboot mają już rozszerzenie &lt;code&gt;.tar.gz&lt;/code&gt; lub &lt;code&gt;.tgz&lt;/code&gt; .  Nie mogłem przejść obojętnie obok tej
zagadki i postanowiłem sprawdzić, co taka paczka w sobie zawiera i do czego ewentualnie ona może
nam się przydać w kontekście alternatywnego oprogramowania wrzucanego na telefon.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Jak zaktualizować firmware custom ROM&#39;ów w smartfonach Xiaomi</title>
      <link>https://morfikov.github.io/post/jak-zaktualizowac-firmware-custom-rom-w-smartfonach-xiaomi/</link>
      <pubDate>Thu, 30 Sep 2021 02:43:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/jak-zaktualizowac-firmware-custom-rom-w-smartfonach-xiaomi/</guid>
      <description>&lt;p&gt;Te bardziej szanujące się marki produkujące smartfony zwykle zapewniają wsparcie dla swoich
urządzeń przez co najmniej dwa lata (a czasem nawet i dłużej) od momentu ich wypuszczenia na rynek.
Po wgraniu sobie alternatywnego ROM&#39;u na nasz telefon, oprogramowanie w nim może być aktualizowane
przez opiekuna czy dewelopera takiego ROM&#39;u znacznie dłużej niż producent przewidział. W ten sposób
nie musimy wydawać pieniążków na nowy sprzęt, oczywiście zakładając, że mu nic nie dolega, np. pod
względem wydajności, czy też ewentualnie nie zużył on się nam jakoś bardziej podczas eksploatacji.
Jedną rzeczą, o której posiadacze smartfonów z Androidem zapominają po wgraniu custom ROM&#39;ów na
bazie AOSP/LineageOS, to fakt, że o ile ROM faktycznie dostaje aktualizacje czy to bezpieczeństwa,
czy też upgrade do nowszej wersji Androida, o tyle sam firmware zwykle pozostaje nietknięty. W
przypadku mojego modelu smartfona Redmi 9, Xiaomi od czasu do czasu wypuszcza aktualizacje firmware
do tego urządzenia i przydałoby się ten firmware co jakiś czas zaktualizować. Na szczęście nie
trzeba w tym celu powracać do stock&#39;owego oprogramowania, a cały proces możemy przeprowadzić z
poziomu dowolnej dystrybucji linux&#39;a.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Jak wgrać crDroid Android ROM na Xiaomi Redmi 9 (lancelot/galahad)</title>
      <link>https://morfikov.github.io/post/jak-wgrac-crdroid-android-rom-na-xiaomi-redmi-9-lancelot-galahad/</link>
      <pubDate>Wed, 29 Sep 2021 17:09:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/jak-wgrac-crdroid-android-rom-na-xiaomi-redmi-9-lancelot-galahad/</guid>
      <description>&lt;p&gt;Przyszła pora pozbyć się w końcu tego stock&#39;owego oprogramowania, które zostało wgrane na mojego
smartfona Xiaomi Redmi 9 (lancelot/galahad) przez producenta tego urządzenia. Przez ostatnich parę
tygodni testowałem różne wersje ROM&#39;ów na bazie AOSP/LineageOS, z których bardziej użyteczne
okazały się &lt;a href=&#34;https://forum.xda-developers.com/t/rom-11-official-pixelplusui-for-redmi-9-poco-m2-lancelot-shiva.4254891/&#34;&gt;PixelPlusUI&lt;/a&gt;, &lt;a href=&#34;https://forum.xda-developers.com/t/rom-11-pixel-extended-official-redmi-9-poco-m2-lava.4296941/&#34;&gt;Pixel Extended&lt;/a&gt; oraz &lt;a href=&#34;https://forum.xda-developers.com/t/rom-official-crdroidandroid-for-redmi-9-poco-m2-lancelot-galahad-shiva.4333181/&#34;&gt;crDroid Anadroid&lt;/a&gt;. Niestety nikt jeszcze
nie opracował LineageOS na ten telefon, więc pozostaje w zasadzie wgranie jednej z tych trzech
powyższych pozycji, jako że Xiaomi Redmi 9 jest oficjalnie przez te ROM&#39;y wspierany. Obecnie Pixel
Extended ma jednak problemy z hostowaniem swoich plików i od paru miesięcy nie miał praktycznie
żadnej aktualizacji, przez co wybór został ograniczony do dwóch pozostałych ROM&#39;ów. Powodem, dla
którego zdecydowałem się wgrać crDroid Android, jest fakt, że nie ma on zintegrowanych aplikacji od
Google (GAPPS). Oczywiście można po instalacji samego ROM&#39;u wgrać także Open GAPPS ale naturalnie
nie jest to wymagane, przez co można sobie skonfigurować cały telefon według własnego uznania
wykorzystując jako bazę początkową microG. W tym artykule zostanie przedstawiony sposób wgrania
ROM&#39;u crDroid Android na smartfon, tak by czasem nie uszkodzić tego urządzenia.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Czym jest tryb lockdown w smartfonie z Androidem</title>
      <link>https://morfikov.github.io/post/czym-jest-tryb-lockdown-w-smartfonie-z-androidem/</link>
      <pubDate>Mon, 27 Sep 2021 05:50:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/czym-jest-tryb-lockdown-w-smartfonie-z-androidem/</guid>
      <description>&lt;p&gt;Jeśli mamy wgranego w miarę nowego Androida (9+) na naszego smartfona i korzystamy aktywnie z tego
urządzenia, to zapewne zdążyliśmy się już przyzwyczaić, że co kilka dni musimy wpisywać ręcznie
hasło do blokady ekranu i to nawet pomimo aktywnej biometrii w ustawieniach systemu. Co ciekawe,
w stock&#39;owych ROM&#39;ach producentów telefonów (nawet w moim Xiaomi Redmi 9), nie ma żadnej opcji,
która byłaby w stanie skonfigurować czas, po którym taki monit z hasłem ma wyskakiwać. Przyznam, że
trochę mnie ten ficzer denerwował ale nie mogłem z nim w zasadzie nic zrobić i trzeba było nauczyć
się go tolerować. Do niedawna nawet nie wiedziałem, że takie pytanie użytkownika o hasło bierze się
z faktu przejścia telefonu w jeden ze jego trybów pracy, tj. &lt;a href=&#34;https://android-developers.googleblog.com/2020/09/lockscreen-and-authentication.html&#34;&gt;tryb lockdown&lt;/a&gt;, w który telefon
jest przełączany automatycznie zwykle co 72 godziny (3 dni). Ludzie mówią, że ten tryb ma chronić
użytkownika smartfona na wypadek utraty urządzenia. Z racji, że aktualnie wgrałem sobie custom ROM
na bazie AOSP/LineageOS, to postanowiłem sprawdzić czy jakieś opcje konfiguracji tego trybu są w
nim dostępne. Przy okazji chciałem nieco bardziej zapoznać się z tym mechanizmem lockdown&#39;u i
zweryfikować na ile może on być użyteczny.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Kopia zapasowa danych smartfona z Androidem (OAndBackupX, Syncthing)</title>
      <link>https://morfikov.github.io/post/kopia-zapasowa-danych-smartfona-z-androidem-oandbackupx-syncthing/</link>
      <pubDate>Sun, 26 Sep 2021 16:44:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/kopia-zapasowa-danych-smartfona-z-androidem-oandbackupx-syncthing/</guid>
      <description>&lt;p&gt;Jak to zwykło się mawiać w świecie IT: ludzie dzielą się na te osobniki, które robią backup i
te, co backup robić będą. Jakiś czas temu pochyliłem się nad zagadnieniem &lt;a href=&#34;https://morfikov.github.io/post/czy-smartfon-z-androidem-bez-google-apps-services-ma-sens/&#34;&gt;czy smartfon z
Androidem bez Google Play Services ma sens&lt;/a&gt;. Poruszyłem tam problem tworzenia kopi zapasowej
danych użytkownika zgromadzonych w telefonie. W tym podlinkowanym artykule zostało przestawione jak
przy pomocy TWRP dokonać pełnego backupu całego systemu urządzenia i o ile pod względem technicznym
takie podejście było jak najbardziej w pełni do zaakceptowania, to jednak to rozwiązanie miało dość
istotną wadę, tj. na czas backup&#39;u trzeba było wyłączyć smartfon. Parę dni temu natrafiłem
na &lt;a href=&#34;https://github.com/machiav3lli/oandbackupx&#34;&gt;narzędzia OAndBackupX&lt;/a&gt;, które jest w stanie zrobić kopię zapasową wszystkich zainstalowanych
w Androidzie aplikacji (oraz ich ustawień), wliczając w to nawet appki systemowe. OAndBackupX jest
o tyle lepszym rozwiązaniem w stosunku do TWRP, że można przy jego pomocy robić kopię danych
pojedynczych aplikacji, a nie od razu całego ROM&#39;u, co nie tylko jest czasochłonne ale również
zjada sporo miejsca na dysku komputera, czy gdzie ten backup zamierzamy przechowywać. Niestety
OAndBackupX wymaga uprawnień root, zatem na stock&#39;owym ROM&#39;ie producenta naszego telefonu nie damy
rady z tego narzędzia skorzystać. Jeśli jednak mamy alternatywny ROM na bazie AOSP/LineageOS, to
przydałoby się rzucić okiem na ten kawałek oprogramowania, bo zdaje się ono być wielce użyteczne,
zwłaszcza w przypadku osób mojego pokroju, czyli linux&#39;iarzy, którzy o backup swoich danych chcą
zatroszczyć się tylko i wyłącznie we własnym zakresie, zaprzęgając do pracy choćby &lt;a href=&#34;https://github.com/syncthing/syncthing&#34;&gt;Syncthing&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Blokowanie dostępu do sensorów (kamera/mikrofon/gps) aplikacjom w Androidzie</title>
      <link>https://morfikov.github.io/post/blokowanie-dostepu-do-sensorow-kamera-mikrofon-gps-aplikacjom-w-androidzie/</link>
      <pubDate>Wed, 22 Sep 2021 02:04:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/blokowanie-dostepu-do-sensorow-kamera-mikrofon-gps-aplikacjom-w-androidzie/</guid>
      <description>&lt;p&gt;Raczej już nikogo nie dziwią różne moduły elektroniczne implementowane w smartfonach pokroju
żyroskopu, akcelerometru, magnetometru czy też i innych czujników realizujących pewne określone
funkcje. Te wszystkie rzeczy potocznie zwykło nazywać się sensorami i na dobrą sprawę zdążyły się
one zadomowić na dobre w tych naszych telefonach i to do tego stopnia, że nawet sobie nie zdajemy
sprawy, że w ogóle one istnieją i non stop działają w tle. Przekopując ostatnio ustawienia Androida,
natknąłem się w opcjach deweloperskich na dość enigmatycznie brzmiącą opcję &lt;code&gt;Sensors Off&lt;/code&gt; , która
była ukryta pod &lt;code&gt;Quick settings developer tiles&lt;/code&gt; . Zaznaczenie tej opcji sprawiło, że do dyspozycji
użytkownika został oddany dodatkowy kafelek (dostępny z poziomu górnej belki), którego zadaniem
jest sterowanie dostępem aplikacji do sensorów smartfona (nie tylko tych wymienionych wyżej ale też
do kamery mikrofonu, czy nawet GPS). Postanowiłem się trochę pobawić tym mechanizmem i zobaczyć czy
można z niego zrobić jakieś użyteczne narzędzie w kontekście ochrony prywatności.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Pozorowanie lokalizacji GPS w Androidzie (mock location)</title>
      <link>https://morfikov.github.io/post/pozorowanie-lokalizacji-gps-w-androidzie-mock-location/</link>
      <pubDate>Tue, 21 Sep 2021 19:33:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/pozorowanie-lokalizacji-gps-w-androidzie-mock-location/</guid>
      <description>&lt;p&gt;Wiele osób nie pozostawia suchej nitki na mechanizmie geolokalizacji zaszytym w smartfonach z
Androidem na pokładzie. No i faktycznie w sporej części przypadków zastrzeżenia jakie są kierowane
pod adresem lokalizacji/GPS w kwestii permanentnego śledzenia nas przez Google nie są przesadzone.
Niektórzy spierają się, że wystarczy włączyć tryb samolotowy (Airplane Mode) w telefonie i nasza
pozycja przestaje być rejestrowana w czasie rzeczywistym ale nie jest to prawdą. Jakiś czas temu
świat obiegła informacja, że &lt;a href=&#34;https://www.thesun.co.uk/tech/7811918/google-is-tracking-you-even-with-airplane-mode-turned-on/&#34;&gt;Android rejestruje dane geolokalizacji&lt;/a&gt; nawet, gdy tryb samolotowy
jest włączony, a telefon nie ma włożonych kart SIM i to przy jednoczesnym wyłączeniu WiFi i BT. Jak
to do końca jest z tą lokalizacją i czy faktycznie nie da się jej wyłączyć w Androidzie? A może
powinniśmy pójść w drugą stronę i zamiast starać się wyłączać lokalizację, to spróbować oszukać
system przez jej pozorowanie? Taki zabieg jest możliwy ale wymagana jest zewnętrzna aplikacja do
pozorowania lokalizacji, np. &lt;a href=&#34;https://github.com/mcastillof/FakeTraveler&#34;&gt;Fake Traveler&lt;/a&gt;, którą trzeba określić w ustawieniach
deweloperskich Androida. Czy ten zabieg wpłynie pozytywnie na lokalizację w kontekście naszej
prywatności? Czy może lepiej jest jednak zostawić telefon w domu i pójść na niejawne spotkanie bez
tego urządzenia?&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Jak blokować rozmowy GSM w smartfonie z Androidem (YACB)</title>
      <link>https://morfikov.github.io/post/jak-blokowac-rozmowy-gsm-w-smartfonie-z-androidem-yacb/</link>
      <pubDate>Sat, 18 Sep 2021 15:22:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/jak-blokowac-rozmowy-gsm-w-smartfonie-z-androidem-yacb/</guid>
      <description>&lt;p&gt;Czy przytrafiła może wam się taka sytuacja, w której to ktoś dzwonił do was z niewiadomego numeru i
przy tym nie był to nikt, kto by zasługiwał na jakąś większą uwagę z waszej strony? Zwykle, gdy mam
do czynienia z kimś takim, to nawet nie odbieram telefonu. Niemniej jednak, najwyraźniej jeden z
moich numerów ostatnio stał się celem ataku jakiegoś spamera z bliżej nieokreślonego call center i
ten czteroliterowy osobnik wydzwania do mnie od kilku dni średnio co 20 minut i to z wielu różnych
numerów. Do tej pory spamerzy w zasadzie omijali mnie szerokim łukiem ale zachowanie tej dość
nieuprzejmej osoby sprawiło, że postanowiłem opracować jakieś rozwiązanie na wypadek, gdyby takich
osobników z gatunku &amp;quot;brakującego ogniwa ewolucji Homo sapiens&amp;quot; było więcej. Po chwili wertowania
netu udało mi się znaleźć appkę, co się zwie &lt;a href=&#34;https://gitlab.com/xynngh/YetAnotherCallBlocker&#34;&gt;Yet Another Call Blocker&lt;/a&gt; (YACB), która w zasadzie
jest tym, czego standardowo brakuje w każdym smartfonie z Androidem na pokładzie, tj. dość
zaawansowanego filtra rozmów przychodzących realizowanych w przestarzałej już technologi GSM, czyli
w zwykłych rozmowach telefonicznych na komórkę. Jako, że ten YACB jest bardzo ciekawym kawałkiem
oprogramowania i do tego w pełni OpenSource (dostępnym w repozytorium F-Droid), to postanowiłem
napisać o nim kilka słów, bo jest to wręcz nieocenione narzędzie w walce z wszelkim syfem pokroju
różnych spamerów z call center.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Optymalizacja procesu ładowania baterii via ACC w smartfonie z Androidem</title>
      <link>https://morfikov.github.io/post/optymalizacja-procesu-ladowania-baterii-via-acc-w-smartfonie-z-androidem/</link>
      <pubDate>Fri, 03 Sep 2021 20:53:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/optymalizacja-procesu-ladowania-baterii-via-acc-w-smartfonie-z-androidem/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://morfikov.github.io/post/jak-wgrac-twrp-recovery-i-magisk-w-xiaomi-redmi-9-galahad-lancelot/&#34;&gt;Odblokowanie bootloader&#39;a&lt;/a&gt; w smartfonie Xiaomi Redmi 9 (Galahad/Lancelot) mamy już z głowy.
Podobnie sprawa wygląda z &lt;a href=&#34;https://morfikov.github.io/post/jak-odblokowac-bootloader-w-xiaomi-redmi-9-galahad-lancelot/&#34;&gt;wgrywaniem na partycję recovery obrazu TWRP&lt;/a&gt; i uzyskiwaniem praw
administratora systemu root za sprawą Magisk&#39;a. Te dwa kluczowe procesy otworzyły nam drogę do
nieco bardziej zaawansowanych prac jeśli chodzi o konfigurację samego urządzenia. W tym artykule
nie będziemy się jeszcze bawić we wgrywanie alternatywnych ROM&#39;ów na bazie AOSP/LineageOS ale za to
zainteresujemy się nieco bardziej procesem ładowania samej baterii w takim telefonie. Chodzi
generalnie o fakt przedłużenia żywotności baterii smartfona za sprawą limitowania maksymalnej
wartości, do jakiej można taką baterię podładować podłączając telefon czy to do portu USB
komputera, czy też do pełnowymiarowej ładowarki. Taki stopień konfiguracji można osiągnąć
zaprzęgając do pracy zaawansowany kontroler ładowania (&lt;a href=&#34;https://github.com/VR-25/acc&#34;&gt;Advanced Charging Controller&lt;/a&gt;, ACC),
który manipuluje niskopoziomowymi ustawieniami kernela linux. W standardowym Androidzie tego typu
funkcjonalności nie uświadczymy, przez co bateria zużywa się parokrotnie szybciej niż powinna, co
przekłada się na wymianę urządzenia na nowe po niecałym roku czy dwóch jego użytkowania. Jeśli nie
uśmiecha nam się wydawać hajsu co roku na nowy telefon tylko dlatego, że nie można w nim wymienić
baterii, to powinniśmy rozważyć rozwiązanie jakie nam daje ACC.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Jak wgrać TWRP recovery i Magisk w Xiaomi Redmi 9 (galahad/lancelot)</title>
      <link>https://morfikov.github.io/post/jak-wgrac-twrp-recovery-i-magisk-w-xiaomi-redmi-9-galahad-lancelot/</link>
      <pubDate>Tue, 31 Aug 2021 19:45:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/jak-wgrac-twrp-recovery-i-magisk-w-xiaomi-redmi-9-galahad-lancelot/</guid>
      <description>&lt;p&gt;Parę dni temu udało mi się &lt;a href=&#34;https://morfikov.github.io/post/jak-odblokowac-bootloader-w-xiaomi-redmi-9-galahad-lancelot/&#34;&gt;odblokować bootloader w moim smartfonie Xiaomi Redmi 9
(galahad/lancelot)&lt;/a&gt;. Nie licząc błędnego URI przy logowaniu na konto Mi wewnątrz appki
XiaoMiTool, nie było zbytnio problemów z tym procesem. Takie odblokowanie bootloader&#39;a w telefonie
w zasadzie nic nam samo z siebie nie daje, no może poza ściągnięciem z niego zabezpieczeń, co
ułatwia dostanie się syfu na Androida, no i też ułatwia złodziejom robotę, bo gdy takie odblokowane
urządzenie wpadnie w ich łapki, to mamy praktycznie pozamiatane. Niemniej jednak, odblokowany
bootloader daje nam możliwość wgrania custom recovery, np. TWRP, co z kolei otwiera nam drogę do
uzyskania praw administratora systemu root, np. za sprawą zainstalowania Magisk&#39;a. Mając dostęp do
root, będziemy mogli takim urządzeniem dowolnie zarządzać. Naturalnie, TWRP daje nam też możliwość
wgrania alternatywnych ROM&#39;ów na bazie AOSP/LineageOS ale w tym artykule skupimy się jedynie na
wrzuceniu TWRP recovery na tego Xiaomi Redmi 9 i ukorzenimy jego Androida przy pomocy wspomnianej już aplikacji Magisk.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Jak odblokować bootloader w Xiaomi Redmi 9 (galahad/lancelot)</title>
      <link>https://morfikov.github.io/post/jak-odblokowac-bootloader-w-xiaomi-redmi-9-galahad-lancelot/</link>
      <pubDate>Fri, 27 Aug 2021 22:26:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/jak-odblokowac-bootloader-w-xiaomi-redmi-9-galahad-lancelot/</guid>
      <description>&lt;p&gt;Jakiś czas temu wpadł w moje łapki smartfon Xiaomi Redmi 9 (galahad albo lancelot, bo w różnych
częściach systemu jest to inaczej określone), który miał preinstalowanego Androida 10 oraz MIUI 11.
Przez parę miesięcy używania telefonu, dostał on dwa albo trzy większe update całego ROM&#39;u,
wliczając w to aktualizację MIUI do 12.0.1 ze stanem zabezpieczeń na dzień 2021-01-05. Zatem
ostatnia aktualizacja zabezpieczeń tego telefonu miała miejsce zaraz na początku Stycznia. Od tego
czasu cisza. Niby w przypadku tego modelu telefonu aktualizacje miały być wydawane &lt;a href=&#34;https://www.mi.com/global/service/support/security-update-1.html&#34;&gt;co trzy
miesiące do roku 2023&lt;/a&gt; ale najwyraźniej coś jest nie tak i urządzenie od ponad pół roku nie
dostało żadnych aktualizacji. Niby pod tym linkiem można wyczytać informację, że planowana jest
aktualizacja do Androida 11 ale prawdę mówiąc jestem nieco zawiedziony opieszałością Xiaomi. Tak
się złożyło, że przez przypadek trafiłem w &lt;a href=&#34;https://forum.xda-developers.com/f/redmi-9-poco-m2-roms-kernels-recoveries-dev.11175/&#34;&gt;to miejsce na forum XDA&lt;/a&gt;, gdzie z kolei znalazłem
m.in. &lt;a href=&#34;https://forum.xda-developers.com/t/rom-unofficial-11-0-pixel-plus-ui-for-redmi-9-lancelot-galahad.4243813/&#34;&gt;ten wątek&lt;/a&gt;. Zatem alternatywne ROM&#39;y na mój smartfon istnieją i tego faktu nie byłem
świadomy, bo w zeszłym roku jeszcze nic nie szło znaleźć. Postanowiłem zatem odblokować bootloader
w swoim Xiaomi Redmi 9 i spróbować wgrać na niego TWRP i jeden (a może nawet kilka) przykładowy ROM
na bazie AOSP/LineageOS. Proces odblokowania bootloader&#39;a w urządzeniach Xiaomi nie wymaga zbytnio
wysiłku i da się go przeprowadzić w całości pod linux korzystając czy to z XiaoMiTool, czy też przy
pomocy &lt;a href=&#34;https://morfikov.github.io/post/wirtualizacja-qemu-kvm-libvirt-na-debian-linux/&#34;&gt;maszyn wirtualnych na bazie QEMU/KVM&lt;/a&gt;. Ten proces nie do końca jest dla każdego taki
oczywisty, dlatego postanowiłem go dokładnie opisać.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Blokowanie reklam w YouTube na smartfonie z Androidem bez root</title>
      <link>https://morfikov.github.io/post/blokowanie-reklam-w-youtube-na-smartfonie-z-androidem-bez-root/</link>
      <pubDate>Sun, 01 Nov 2020 09:01:00 +0100</pubDate>
      
      <guid>https://morfikov.github.io/post/blokowanie-reklam-w-youtube-na-smartfonie-z-androidem-bez-root/</guid>
      <description>&lt;p&gt;Użytkownicy Androida do przeglądania serwisu YouTube używają z reguły tej dedykowanej aplikacji od
Google. Problem z tą appką jest taki, że serwuje ona całą masę reklam, których to nie można wykroić
stosując popularne rozwiązania na bazie &lt;a href=&#34;https://blokada.org/&#34;&gt;Blokada&lt;/a&gt; czy &lt;a href=&#34;https://adaway.org/&#34;&gt;AdAway&lt;/a&gt;. Niektórzy starają się
korzystać z innych aplikacji pokroju &lt;a href=&#34;https://newpipe.schabi.org/&#34;&gt;NewPipe&lt;/a&gt; czy &lt;a href=&#34;https://skytube-app.com/&#34;&gt;SkyTube&lt;/a&gt; ale one mają swoje ograniczenia,
np. nie można pisać komentarzy czy też nie działają powiadomienia push. Kiedyś by rozwiązać ten
problem reklam w appce YouTube &lt;a href=&#34;https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445&#34;&gt;korzystałem z Magisk&#39;a&lt;/a&gt; i jego modułu YouTube Vanced ale to
rozwiązanie od jakiegoś czasu nie jest już wspierane, choć w dalszym ciągu można z niego korzystać.
Jako, że od paru miechów nie zaglądałem na &lt;a href=&#34;https://vancedapp.com/&#34;&gt;stronę YouTube Vanced&lt;/a&gt;, to postanowiłem sprawdzić
czy coś w tej kwestii się zmieniło. Wygląda na to, że jednak coś drgnęło, bo teraz dostępny jest
Vanced Manager, który to jest w stanie tak skonfigurować nasz telefon, by aplikacja YT Vanced
działała bez problemu nawet na nieukorzenionym Androidzie (nie trzeba mieć root&#39;a). Możemy zatem
zachować całą funkcjonalność serwisu YouTube pozbywając się przy tym reklam oraz segmentów
sponsorowanych, no i też nie musimy nic kombinować z telefonem, tj. odblokowywać bootloader&#39;a czy
wgrywać TWRP. Problematyczne może być jednak zainstalowanie YouTube Vanced, bo czasami powiadomienia
(notyfikacje push) mogą nam nie działać poprawnie. Właśnie dlatego postanowiłem napisać parę słów
na temat instalacji tej aplikacji z wykorzystaniem Vanced Manager w Androidach bez root, by uniknąć
tego jak i innych problemów.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Jak odszyfrować linux&#39;a przy pomocy telefonu z Androidem</title>
      <link>https://morfikov.github.io/post/jak-odszyfrowac-linux-przy-pomocy-telefonu-z-androidem/</link>
      <pubDate>Sat, 15 Aug 2020 02:43:00 +0200</pubDate>
      
      <guid>https://morfikov.github.io/post/jak-odszyfrowac-linux-przy-pomocy-telefonu-z-androidem/</guid>
      <description>&lt;p&gt;Zaszyfrowane systemy (desktopy/laptopy) mają jeden poważny problem, gdy chodzi o zapewnianie
bezpieczeństwa chronionym plikom przechowywanym na dyskach twardych. Gdy siedzimy obok naszej
maszyny, możemy czuć się bezpiecznie, bo przecież nikt nie może się włamać do jej systemu bez
naszej wiedzy. Nawet jeśli ktoś będzie próbował się dostać do naszego PC, to istnieje spora szansa,
że takie działanie zostałoby natychmiast przez nas wykryte, przez co moglibyśmy w odpowiedni sposób
zareagować na zaistniałe zagrożenie. Co jednak w przypadku, gdy zostawiamy przykładowo naszego
laptopa samego? Nawet jeśli zablokujemy mu ekran, wyłączymy go albo zahibernujemy, to ta maszyna
wciąż nie jest odpowiednio zabezpieczona, by uniemożliwić osobom postronnym dostęp do naszych
wrażliwych danych. Problem leży w fizycznym dostępie do sprzętu, który ludzie mogą uzyskać, gdy nas
nie ma w pobliżu naszego komputera. W taki sposób osoby trzecie mogą wykorzystać fakt, że tracimy
maszynę z oczu i być w stanie zastawić na nas różne pułapki. By uniknąć zagrożenia związanego z
zostawieniem laptopa/desktopa bez nadzoru, nie możemy w zasadzie pozostawiać tego urządzenia samego,
co jest zadaniem praktycznie nie do wykonania. Komputery stacjonarne czy nawet laptopy nie są
urządzeniami o małych gabarytach i zwykle nie możemy ich wszędzie zabrać ze sobą, w przeciwieństwie
do smartfonów. Postanowiłem zatem tak skonfigurować swojego linux&#39;a, by jego zaszyfrowany dysk
(LUKS + LVM) można było odszyfrować jedynie przy pomocy mojego telefonu z Androidem, z którym w
zasadzie się nie rozstaję.&lt;/p&gt;</description>
    </item>
    
    <item>
	  <author>Mikhail Morfikov</author>
      <title>Jak zmienić hostname w telefonie z Androidem</title>
      <link>https://morfikov.github.io/post/jak-zmienic-hostname-w-telefonie-z-androidem/</link>
      <pubDate>Wed, 29 Jan 2020 19:00:00 +0100</pubDate>
      
      <guid>https://morfikov.github.io/post/jak-zmienic-hostname-w-telefonie-z-androidem/</guid>
      <description>&lt;p&gt;Przeglądając ostatnio listę sprzętów podłączonych do mojego routera WiFi, zauważyłem, że niektóre
pozycje na niej w polu z hostname mają coś na wzór &lt;code&gt;android-4c52c33baae0b4fa&lt;/code&gt; . Pierwsza część
nazwy tego hosta wskazuje na system operacyjny, a drugi kawałek to unikalny numerek ID.  Nie jestem
zbytnio fanem rozgłaszania takich informacji publicznie, bo mogą one ułatwić ewentualne ataki, oraz
też identyfikują jednoznacznie dane urządzenie (&lt;a href=&#34;https://source.android.com/devices/tech/connect/wifi-mac-randomization&#34;&gt;osobną kwestią jest adres MAC karty sieciowej&lt;/a&gt;).
Ponadto, mając w sieci wiele mobilnych urządzeń, ciężko jest czasem połapać się który telefon ma
przypisany konkretny adres IP (bez patrzenia w ustawienia telefonu). Z reguły na linux&#39;owym
desktopie czy laptopie zmiana hostname jest stosunkowo łatwym zadaniem ale w przypadku smartfona z
Androidem ten zabieg okazał się niezmiernie trudnym procesem. Jak zatem zmienić hostname telefonu,
by można było mu przypisać jakaś w miarę ludzką nazwę?&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
