Хорошее попадание вопросом: "Вы случайно в телефонах не разбираетесь?"5
Выносил я недавно мусор, и во дворе ко мне подошел мужичок, спрашивает: "Простите, вы случайно в телефонах не разбираетесь?". Я честно ответил: "Смотря что у вас".
Оказалось, у человека Android, и на него установлена малварь, которая показывает рекламу на весь экран раз в минуту, а то и чаще. Реклама самого мерзкого сорта, со звуком и свистоперделками.
Найти, какое приложение так делает, с наскока не получилось: когда открывал недавние приложения, эта гадость успевала быстро закрыться, и в списке поэтому не показывалась.
К счастью, есть способ, подключившись к телефону через отладочный интерфейс (ADB), в реальном времени узнать, которое приложение сейчас что-то показывает на переднем плане — нужно только дождаться, когда покажет.
Когда я сказал, что представляю, что делать, товарищ сильно обрадовался.
Пока я включал ADB на его телефоне и пробовал со своего подключиться через Wi-Fi, мужичок рассказал, что работает охранником на объекте рядом — недавно достроенном доме, где идёт отделка. Позвал присесть за стол рядом с этим домом, предложил чаю, коньяку.
Увы, со своего телефона я не подключился (кажется, дело было в том, что ADB через Wi-Fi отказывается работать, если одно из устройств — точка доступа, но не уверен). А было бы эффектно. Сходил домой за лаптопом и кабелем.
Дальше получилось быстро и просто. В adb shell пишем что-то такое:
dumpsys activity activities | grep -E "ResumedActivity|mResumedActivity"
И видим в выводе имя пакета и activity того, что сейчас показывается на переднем плане, например:
topResumedActivity=ActivityRecord{86b6681 u0 com.termux/.app.TermuxActivity t28507}
В примере выше это Termux, а у человека на телефоне рекламу показывал rc.rocket.cleaner. На тот момент оно было в Play Store, приложение маскировалось под что-то для очистки системы и — какая ирония! — само же было первосортным мусором. Спустя время приложение из Play Store закономерно исчезло.
Дальше приложение можно удалить любым удобным способом, но раз у нас уже открыт adb shell:
pm uninstall rc.rocket.cleaner
И всё, реклама исчезла, охранник доволен как слон. Вынес мне из подсобки пачку печенек и бисквитный рулет (самый странный мой заработок компьютерами за всю жизнь). Полагаю, в сервисном центре взяли бы дороже и в лучшем случае сделали бы то же самое.
А выводы такие:
* В магазинах приложений всё-таки есть самый разный мусор. К счастью, его оттуда потом могут удалить.
* За разработку и публикацию такого мусора серьезно надо наказывать, это вредоносное ПО, которое хоть непоправимого ущерба и не наносит, но делает девайс малопригодным для использования, пока не избавишься.
* Если на улице спросить помощи даже с не самой обычной проблемой, то может повезти. Хотя, конечно, этот случай был на улице Программистов — вероятно, здесь каждый второй прохожий так умеет.)
Android
954 поста7.7K подписчиков
Правила сообщества
Сообщество посвящено обсуждению и обмену опытом использования устройств, работающих под управлением ОС Android/Linux, а также программного обеспечения для них. Обсуждение других операционных систем (в том числе GNU/Linux) - только в рамках их взаимодействия с Android.
В сообществе запрещены:
* заведомо деструктивные рекомендации
* бессодержательная переписка, особенно с переходом на личности собеседников
* обсуждение нужности рутового доступа (он нужен, и если у вас его нет - мы вам искренне посочувствуем, но искать другие способы решения вашей проблемы не будем)
* обсуждение нужности ПО от Google (необходимости в нем нет, и если вам этот функционал не нужен - смело запускайте pm disable-user или даже pm uninstall, только не забудьте предварительно сделать полную резервную копию)
Если вы просите о помощи, обязательно укажите максимально полную информацию об используемом вами устройстве, чего вы хотите добиться и какие шаги для этого предпринимали - это существенно ускорит получение ответа, так как из обсуждения будут исключены диалоги вида "попробуй вот так - пробовал, не помогает". Соответственно, и при ответе следует давать рекомендации, подходящие для любого устройства. Если вы не уверены в универсальности решения, напишите об этом явно: "у меня %s и мне помогло %s".
Данная редакция правил действует с момента ее публикации: 2022-01-27 22:00:00 +03:00