hotkey

hotkey

Пикабушник
4473 рейтинг 2 подписчика 10 подписок 2 поста 2 в горячем
Награды:
10 лет на Пикабу
3539

Хорошее попадание вопросом: "Вы случайно в телефонах не разбираетесь?"4

Выносил я недавно мусор, и во дворе ко мне подошел мужичок, спрашивает: "Простите, вы случайно в телефонах не разбираетесь?". Я честно ответил: "Смотря что у вас".

Оказалось, у человека 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

И всё, реклама исчезла, охранник доволен как слон. Вынес мне из подсобки пачку печенек и бисквитный рулет (самый странный мой заработок компьютерами за всю жизнь). Полагаю, в сервисном центре взяли бы дороже и в лучшем случае сделали бы то же самое.

А выводы такие:

* В магазинах приложений всё-таки есть самый разный мусор. К счастью, его оттуда потом могут удалить.

* За разработку и публикацию такого мусора серьезно надо наказывать, это вредоносное ПО, которое хоть непоправимого ущерба и не наносит, но делает девайс малопригодным для использования, пока не избавишься.

* Если на улице спросить помощи даже с не самой обычной проблемой, то может повезти. Хотя, конечно, этот случай был на улице Программистов — вероятно, здесь каждый второй прохожий так умеет.)

Показать полностью
Отличная работа, все прочитано!