Root’suz Android cihazlarda gereksiz yazılımları kaldırma
(github.com/0x192)- Universal Android Debloater GUI, mevcut UAD project’in Rust ile baştan tamamen yeniden yazılmış bir aracı olup, gereksiz veya az bilinen Android sistem uygulamalarını kaldırarak gizliliği ve pil performansını iyileştirmeyi hedefler
- Root olmadan sistem paketlerini kaldırma/devre dışı bırakma ve geri yükleme/etkinleştirme yapabilir; çoklu kullanıcı, çoklu cihaz, seçili öğeleri dışa/içe aktarma ve işlem günlüğü desteği sunar
- Paketler, silinip silinemeyeceğine karar vermeye yardımcı olmak için mümkün olduğunca belgelenmiştir; ancak önyükleme için gereken kritik sistem paketleri kaldırılırsa bootloop oluşabilir
- Root’suz cihazlarda sistem uygulamaları fiilen tamamen kaldırılamaz; OEM güncellemesinden sonra bazı “kaldırılmış” sistem uygulamaları yeniden yüklenebilir ve aracın tekrar çalıştırılması gerekebilir
- Destek listesi Google/Facebook/Amazon/Microsoft, AOSP, OEM, operatörler, Qualcomm/Mediatek vb. içerir; üretici ve operatöre özel debloat list ayrıca sağlanır
Universal Android Debloater GUI’nin amacı
- Universal Android Debloater GUI, UAD project projesinin Rust ile tamamen yeniden yazılmış hâlidir
- Amaç, gereksiz ve az bilinen sistem uygulamalarını kaldırarak gizliliği ve pil performansını iyileştirmektir
- Sistem uygulamalarını kaldırmak, saldırı yüzeyini azaltarak güvenliğin iyileşmesine de katkı sağlayabilir
- Proje hâlâ erken geliştirme aşamasındadır; issue’lara göz atılması ve katkı verilmesi teşvik edilir
Güvenlik ve önemli uyarılar
- Kullanım kendi sorumluluğunuzdadır; projenin telefonunuzda olabileceklerden sorumlu olmadığı belirtilir
- Paketler, silinip silinemeyeceklerinin daha iyi anlaşılabilmesi için mümkün olduğunca belgelenmiştir
- En kötü sorun, önyükleme için gerekli kritik sistem paketlerinin kaldırılması nedeniyle bootloop oluşmasıdır
- Yaklaşık 5 başarısız önyüklemeden sonra telefon otomatik olarak kurtarma modunda yeniden başlar
- Bu durumda fabrika ayarlarına sıfırlama yapılmalıdır
- Önce yedek alınmalıdır
- Bu yazılımla cihazı brick etmenin mümkün olmadığı belirtilir
- Root olmadan sistem uygulamaları gerçekte tamamen kaldırılamaz; ayrıntılar için FAQ incelenmelidir
Desteklenen özellikler
- Sistem paketleri için Uninstall/Disable ve Restore/Enable desteği
- İş profili uygulamaları gibi çoklu kullanıcı desteği
- Seçili öğeleri
uad_exported_selection.txtolarak dışa/içe aktarma imkânı - Birden fazla telefonu aynı anda bağlamaya yönelik çoklu cihaz desteği
- Kullanıcının yaptığı işlemleri unutmaması için tüm işlemler günlüklenir
Debloat listelerinin kapsamı
- Universal Debloat Lists şu kategorileri içerir
- GFAM: Google, Facebook, Amazon, Microsoft
- AOSP
- Üretici (OEM)
- Operatörler
- Qualcomm, Mediatek, diğerleri
- Üretici debloat listesi Asus, LG, Google, Fairphone, Huawei, Motorola, Nokia, OnePlus, Oppo, Realme, Samsung, Sony, Tecno, Unihertz, Vivo/iQOO, Xiaomi, ZTE vb. destekler
- Archos, Blackberry, Gionee, iQOO, HTC, TCL, Wiko üretici listesinde henüz kontrol edilmemiştir
- Operatör debloat listesi aşağıdaki ülke ve operatörleri içerir
- France: Orange, SFR, Free, Bouygues
- USA: T-Mobile, Verizon, Sprint, AT&T
- Germany: Telekom
- UK: EE
Kullanım adımları ve kısıtlar
- Önce FAQ okunmalı ve veriler yedeklenmelidir
- Akıllı telefonda Developer Options etkinleştirilmeli, geliştirici panelinde USB Debugging açılmalıdır
- Ayarlardan OEM hesap bağlantısı kaldırılmalıdır
- OEM hesap paketi silinirse telefon kullanıcının kimliğini artık ilişkilendiremeyebilir ve kilit ekranında takılı kalabilir
- ADB kurulumu gerekir
- Linux’ta dağıtıma göre paket yöneticisiyle
android-sdk-platform-toolsveyaandroid-toolskurulur - macOS’te Homebrew ile
android-platform-toolskurulur - Windows’ta android platform tools indirilip arşivden çıkarılarak PATH’e eklenmeli veya UAD aynı dizinden çalıştırılmalıdır
- Windows’ta cihaz için USB drivers kurulmalı ve
adb devicesile algılanıp algılanmadığı kontrol edilmelidir
- Linux’ta dağıtıma göre paket yöneticisiyle
- İşletim sisteminiz için en güncel UAD GUI sürümü releases sayfasından alınabilir
- Yalnızca varsayılan Vulkan backend sürümü çalışmadığında
openglsürümü kullanılmalıdır
- Yalnızca varsayılan Vulkan backend sürümü çalışmadığında
- Çin telefon kullanıcılarının bazı varsayılan uygulamaları kaldırmak için AOSP list kullanması gerekebilir
- Bunun nedeni özellikle Xiaomi ve Huawei gibi Çinli üreticilerin, kendi değiştirilmiş ve kapalı kaynak uygulamaları için AOSP paket adlarını kullanmış olmalarıdır
- OEM telefona güncelleme dağıttığında bazı “kaldırılmış” sistem uygulamaları yeniden yüklenebilir; bu yüzden bu yazılımın tekrar çalıştırılması gerekir
Katkı
- Proje bir topluluk projesidir; katkı yöntemleri How to contribute sayfasında özetlenmiştir
1 yorum
Hacker News yorumları
Yakın zamanda bir akrabama liste fiyatından orta seviye bir Samsung telefon aldım; varsayılan olarak yüklü gelen uygulamaların sayısı inanılmazdı
Çeşitli sosyal ağ ve alışveriş uygulamaları önceden kuruluydu; Google uygulama paketini beceriksizce kopyalayan bir sürü Samsung uygulaması da vardı
İlk kurulum sürecinin tamamı, mümkün olduğunca çok veri çekip almaya göre tasarlanmış dark pattern'larla doluydu; sıradan bir kullanıcının bir şeyi kaçırmadan bu süreci geçmesi zor görünüyordu
O şirketin gizlilik politikasında, verilerin ilgi alanlarını, sosyal hayatı, zeka düzeyi ve eğitim seviyesi tahminlerini belirlemek için kullanıldığı ve “pazar araştırması” gibi amaçlarla satıldığı yazıyordu
Kullanıcının, telefonda varsayılan gelen klavyenin mesajlarını ve e-postalarını üçüncü bir tarafa okutacağını düşünmesi zor
Bunu ancak tesadüfen bir tuşa uzun basıp “about samsung keyboard” penceresini açınca, oradan gizlilik politikasını takip edip tuş girişlerinin hangi şirkete gönderildiğini gördükten sonra öğrendim
Hemen açık kaynaklı bir klavyeye geçtim; tüm kullanıcıların girdilerini toplamasının etkisi olsa gerek, Samsung klavyenin yazım denetimi ve tahminli yazma özelliği gerçekten iyiydi
Son üç telefonum AB'de satılan Samsung S serisi modellerdi; “üçüncü taraf varsayılan uygulama” sayılabilecek şeyler Facebook ve MS Office kadardı, ikisi de kolayca kaldırılabiliyordu
Samsung'un alternatif uygulamaları bir tercih meselesi; Google “orijinallerinden” daha kullanışlı olduklarını düşündüm
Diğer marka telefonları da biraz kullanmış biri olarak, Samsung'un yazılım ve kullanıcı deneyimi açısından Android seçenekleri arasında oldukça iyi bir yerde olduğunu söyleyebilirim
1200 dolarlık bir amiral gemisi cihazda böyle bir şey utanç verici
“Android cihazınızda Microsoft SwiftKey Account kullanmayı seçmediyseniz, Microsoft SwiftKey'in oluşturduğu tüm kişisel ve dil verileri cihazda yerel olarak saklanır ve aktarılmaz” açıklaması var
Etkin diller arasında doğal biçimde geçiş yaptığı için kullanıyorum; “meet me at Østerport Station” gibi cümleleri de akıcı şekilde yazabiliyorum
Ancak sorun varsayılan yüklü uygulamalarda; bu yüzden bir Samsung telefon aldığımda ilk iş
pm uninstall –k ––user 0çalıştırıyorumBağlantı verilen araç da aynı işi daha kullanışlı hale getiriyor, ancak Samsung hesabı veya Knox ile ilgili öğeler gibi custom ROM yüklemeden hâlâ kaldırılamayan şeyler var
Bu projenin bakımı 1 yıldır yapılmıyor
En güncel bakımlı fork'a https://github.com/Universal-Debloater-Alliance/universal-an... adresinden bakılabilir
Bu projede kullanılan Android karşılığı komutlar kabaca şöyle
dpkg --get-selections:adb shell pm list packages | sortdpkg -r:adb shell pm uninstall -k --user 0Durum çubuğu simgelerini gizlemek için sürüme bağlı olarak
adb shell dumpsys activity service SystemUIServiceçalıştırıp “icon slots: ” satırını arayarak adları kontrol ettikten sonraadb shell settings put secure icon_blacklist battery,wifi,clock, ...gibi ayarlayabilirsinizBu komut mevcut engelleme listesini yeni listeyle değiştirir
Örneğin Google'ın Android ve Pixel çekirdek ekiplerindeki çoğu kişi Wi-Fi ve veri anahtarlarını ayrı ayrı kullansa da, gerçek üründe ikisini birleştiren tek bir hızlı ayar kutucuğu sundular
Yine de gizli bir ayarla iki kutucuk modunu geri getirmek mümkün; Google'da bunun neden sık sık yaşandığını bilmiyorum
Birkaç haftadır mobil cihazlar için açık kaynak özgür yazılım işletim sistemi geliştirmesine ne olduğunu düşünüyordum
GrapheneOS, CalyxOS gibi işletim sistemleri neden yalnızca Alphabet Inc'in yaptığı telefonlarda kullanılabiliyor da diğer cihazlarda olmuyor; eski Linux tarzı geliştirmede olduğu gibi çeşitli donanım varyasyonlarını bir araya getirip neredeyse her cihaza sürücü ve destek sağlayan işletim sistemleri nereye gitti, merak ediyorum
Mobil bilgisayar donanımı sektörü fazla mı korkmuş ve kilitlenmiş durumda; kullanıcılar kendi cihazlarına sahip olamayıp başka bir öznenin sahip olduğu cihazları kullanır hale mi geldi, merak ediyorum
Yoksa birden fazla cihazı destekleyen işletim sistemlerinin olmamasının başka bir nedeni mi var; belki de bir şeyi kaçırıyorum
GrapheneOS ya da CalyxOS da gerekli sürücülere erişemediği için, orijinal imajdan ikili blob'ları alıp birlikte dağıtıyor
Bu yüzden bu projeler kapalı kaynak çekirdek sürücüleriyle dolu ve o ikili sürücüleri kullanabilmek için belirli çekirdek sürümlerine bağlı kalıyor
Sonuçta açık kaynak sürümün yapabileceği en fazla şeyin farklı bir “sistem uygulamaları” paketi seçmek olduğu; pratikte bunun tema değiştirmekten biraz daha iyi bir seviyeye yakın olduğu iddia ediliyor
Belirli bir X cihazını desteklemek istiyorsanız, bir root açığıyla ikili blob'ları ele geçirmeniz yeterli; ardından o cihaza dağıtım yapabilirsiniz
https://grapheneos.org/faq#supported-devices de kabul edilebilir değil
Yanlış hatırlamıyorsam Alphabet/Google, Android işletim sistemini dağıtmak için fon almıştı; bir dönem donanım telefonu da çıkarıp sonra ortadan kaybolmuş, diğer şirketlerin bunu sürdürmesine izin vermiş, daha sonra tekrar ortaya çıkıp diğer üreticilerin emeğinden yararlanarak öne geçmiş gibi görünüyor
Ama işletim sistemi yalnızca Google telefonlarında varsa ve diğer cihazlarda yoksa bunun normal olup olmadığını bilmiyorum; başkalarının emeğini korkakça kapmışlar gibi geliyor
https://calyxos.org/#Devices adresindeki cihaz listesi eski http://web.archive.org/web/20230605161332/https://calyxos.or... listesine göre biraz artmış, ama OpenWRT, HyperWRT, DD-WRT, Tomato gibi şeylerle kıyaslanamaz
Bu yüzden GrapheneOS ya da CalyxOS'a güvenmiyorum; Wi-Fi yönlendiricilerde birden fazla açık kaynak firmware'in çeşitli cihazları desteklemesine benzer bir akışı telefonlarda da görmek istiyorum
Fabrika ayarlarına döndürülmüş bir Xiaomi'de bu listelerden birini uygulamayı denedim ve yeniden başlatmadan hemen sonra cihaz bozuldu
Giriş yaptıktan hemen sonra çöküyor ve kullanılamıyordu; sonunda düzelttim ama dikkatli olmak gerektiğini öğrendim
Bir modelde zorunlu olan bir öğe, başka bir modelde varsayılan yüklü uygulama olabilir
Bunun neden gerekli olduğunu anlamıyorum
Telefon ayarlarından uygulamaları doğrudan devre dışı bırakabiliyorsunuz; bu aracın bundan fazladan ne sağladığı belirsiz
FAQ'da kullanıcı profilinden ayrıca “kaldırdığı” ve önbellek ile verileri sildiği yazıyor, ama bunun tam olarak ne anlama geldiğini pek bilmiyorum
Root edilmemiş Amazon Fire tabletleri ADB ile temizleyip özelleştirmeye yarayan benzer bir GUI aracı var
https://xdaforums.com/t/windows-linux-tool-fire-toolbox-v33-...
Neden kaynaktan tamamen temiz bir Android derleyip doğrudan telefona kuramadığımızı merak ediyorum
Bunu engelleyen şey ne
Ancak bootloader kilidi açılabilen bir telefon olması gerekir ve üretici birçok parçanın kaynak kodunu sağlamadığı için üreticinin birebir aynı imajını oluşturamazsınız
Donanım destekleniyorsa LineageOS gibi topluluk tarafından bakımı yapılan bir işletim sistemi kurabilirsiniz
Dezavantajı, Google Pay gibi uygulamaların artık çalışmayabilecek olmasıdır; çünkü Google'ın SafetyNet doğrulama sisteminden geçmeleri gerekir
Bunu aşma yöntemleri de var, ama bana her zaman istikrarsız hack'ler gibi göründüler
Telefon pazarı 90'ların masaüstü pazarına benziyor
PC olmayan bilgisayarlarda bunlar garanti değildir
Kolay olduğu anlamına gelmez ama kaynak kodların hepsi var
Android cihazlarda varsayılan yüklü uygulamaları kaldırmak için doğrudan ya da dolaylı olarak ADB tek seçenektir
Eskiden kullandığım ucuz 10 inç Mediacom tablet de hangi aracı kullansam root edilemiyordu, ama gereksiz servisleri ve öğeleri kaldırmak ADB ile kolaylaştı
Yine de epey riskliydi; sonunda Google servislerini artık çalıştıramıyor, ama e-posta kullanmaya ikna edemediğim 7-8 kişiyle iletişim kurmak için Whatsapp çalışıyor ve F-Droid'den indirme de mümkün, bu da benim için yeterli
https://shizuku.rikka.app/
https://github.com/samolego/Canta
Android cihazlardaki anlaşılması zor paketler için, her birinin gerçekte ne yaptığını ve devre dışı bırakıldığında ya da kaldırıldığında etkisinin ne olduğunu gösteren güncel bir listenin nerede bulunabileceğini merak ediyorum
Özellikle görünüşte alakasız gibi duran bir paketi kaldırınca başka bir şeyin bozulması türünden paket bağımlılıklarını öğrenmek istiyorum
[1] - https://github.com/Universal-Debloater-Alliance/universal-an...