android malware general что это
Почему не все программы со срабатываниями антивирусов — вирусы
Трешбокс — единственный сайт мобильной тематики, который беспокоится о безопасности пользователей и проверяет все выложенные файлы с помощью достаточно широкого набора антивирусов.
Если мы проверили файл на вирусы, под ним отображается плашка с информацией об этом.
Стоит сказать, что не все файлы, на которые реагируют антивирусы, являются на самом деле вирусами. И вот почему бывают ложные срабатывания антивирусов:
В отличие от настоящих вредоносов, этот SDK хэширует IMEI-номер устройства при отправке на сервер, то есть пытается хоть как-то защитить приватность пользователя. Кроме того, рекламу через пуш-уведомления нельзя считать по-настоящему вредоносным поведением. Самое неприятное его действие — замена стартовой страницы браузера и добавление своих закладок, но это тоже с трудом тянет на действительно вредительскую деятельность.
Если же в списке срабатываний на файле вы увидите что-то наподобие Trojan, Backdoor или или тому подобные вещи, качать его, наверное, не стоит.
Список агрессивных, но легальных рекламных платформ:
AdMob + AdWhirl + AdWo
9 ноября 2009 года стало известно о том, что компания Google купила AdMob за 750 миллионов долларов, заплатив 530 миллионов собственными акциями и 220 миллионов наличными. Компания Google прокомментировала покупку в своём пресс-релизе тем, что AdMob имеет большой опыт работы в области рекламы на веб-сайтах и в приложениях для мобильных телефонов.
Airpush
Airpush — мобильная рекламная сеть основанная 2010 году, компания имеет около 200 сотрудников и офисы в Лос-Анджелесе и Бангалоре, наряду с регионами продаж на всех основных рынках.
Более 120 000 приложений и ведущих рекламодателей в мире полагаются на Airpush поставить высокую производительность в отрасли, что обусловлено исключительным форматы объявлений и технологии таргетинга.
InMobi
InMobi — рекламная сеть, в основном использующая мобильный траффик созданная при поддержке Soft Bank и Kleiner Perkins Caufield & Byers. Компания была основана в 2007 году в Индии с офисами в нескольких странах.
LeadBolt
Millennial Media
Технологии и инструменты компании помогают разработчикам приложений и владельцам мобильных сайтов максимизировать свои доходы от рекламы.
Компания основана в Балтиморе, штат Мэриленд, с офисами в Лондоне, Сингапуре, Нью-Йорке и Сан-Франциско.
Mobclix
Mobclix — мобильная рекламная сеть, работающая по принципу риал-тайм биддинга. Интегрирована с большинством рекламных компаний озвученными выше.
CharBoost
CharBoost — мобильная рекламная сеть с центральным офисом в Сан-Франциско. Основное направление — мобильные игры.
Burstly
Burstly — мобильный рекламный движок приложений и игр, использующийся такими проектами как: TestFlight, FlightPath, SkyRocket.
Amobee
Головной офис компании находится в Редвуд-Сити, Калифорния.Amobee сотрудничает с eBay, Nokia, Skype, и Telefónica.
Trademob
RevMob
RevMob является ведущей международной рекламной сетью по монетизации мобильного трафика. Компания поставляет простое и удобное SDK для разработчиков.
Jumptap
Jumptap — 13 августа 2013 года, Jumptap полностью слилась с Millennial Media.
Greystripe
Greystripe — мобильная рекламная сеть основанная в 2007 году. Компания начала с показа рекламных объявлений в Java играх и была одной из первых рекламных мобильных платформ для iPhone.
Umeng + Wooboo + MadHouse Ads + Cauly
Umeng + Wooboo + MadHouse Ads + Cauly — китайские мобильные рекламные сети.
Иследование современного Malware Cerberus под Android
На носу 2020 год и сегодня мы имеем уже версию Android 9.0 Pie, где компания Google бьет себе в грудь и говорит что их продукт защищен. Но злодеи не дремлют и создают свои вредоносы для Android.
Случайным образом мне попался на руки обфусцированный apk файл, который является банковской малварью под названием «Cerberus», и появился он в 2019 году.
APK файл данного ботнета попал мне с недействительным адресом соединения с сервером, по этому часть логики работы и функционала осталась неизученной, так как данный ботнет использует «модульную» систему, и подгружает функционал напрямую со своего сервера.
Анализ apk пакета
После анализа apk-пакета, я составил структуру троянской программы:
Начнём с манифеста
Манифест у приложения достаточно интересный, и уже по нему можно определить что это не простое приложение, а обыкновенная малварь.
Например рассмотрим разрешения для приложения:
Тут можно заметить, что приложение получает доступ к СМС, контактам, звонкам, интернету, работа приложения в спящем режиме.
Идём дальше, и видим привилегии, которые позволяют приложению становиться основным для получения\отправки смс, это злодеи используют для скрытия СМС сообщений на телефонах жертв.
Ну и конечно Ресивер, он служит для автозапуска сервисов, и перехвата СМС.
Права администратора, это уже намного интереснее. Приложению они нужны для блокировки удаления приложения (при включенных правах администратора, кнопки «удалить» у приложения просто не будет), так же эти права позволят удалить всё с устройства, блокировать девайс.
Ну и самое интересное, это Accessibility Service. Он используется для того, чтобы малварь могла сама кликать по экрану, и давать себе нужные разрешения, в том числе и админ права. Через это разрешение злоумышленники отслеживают все действия пользователя на устройстве.
Ну и остальные сервисы и активити, которые не представляют особого интереса без валидного адреса сервера малвари.
В общем малварь не использует ничего сверхъестественного, в ней нету ни использования каких либо 0-day на андроид. Злоумышленникам нужно добиться от жертвы включения одного разрешения, и не более, дальше малварь всё сделает сама.
Google надо бы ограничить некоторые возможности API для приложений не из плей маркета.
Receiver
Код данного класса обфусцирован, но это не мешает его изучить.
А теперь немного пояснений по коду.
Настройки малвари хранятся XML файле, файл находится в директории /data/data/имя_пакета/shared_prefs/Settings.xml
Так думаю код стал более понятен многим читателям.
У Receiver есть 3 триггера на срабатывание, а это при перезагрузке устройства, получении СМС или при запуске Alarmon.
Так же Receiver запускает 3 сервиса:
Так же Receiver запускает запрос отключения Doze Mode и запрос подтверждения прав администратора.
Так как малварь имеет привилегии администратора, его нельзя удалить с девайса пока не будут сняты права.
Права администратора
Давайте рассмотрим какие возможности мы имеем благодаря Admin Device.
элемент force-lock отвечает за права блокировки экрана девайса, а wipe-data за удаление раздела DATA, CACHE, и всей памяти на устройстве (его полный сброс).
Service_fa
На этом мы закончим рассматривать Receiver, и рассмотрим другие сервисы. Сервис который снимает данные с сенсорных датчиков используя класс SensorManager, этот сервис просто получает данные активности и сохраняет их в файл XML.
Благодаря этому злодеям получатся получить историю активности и произвести её анализ для отсеивания эмуляторов и особо ленивых пользователей.
Service_server
Этот поток создан для общения с сервером, данные передаются на сервер в зашифрованном виде используя алгоритм шифрования RC4 кодируя после него все в base64.
При запуске сервиса первый запрос на сервер выглядит так:
Данные отправляемые на сервер я заполнил случайным образом, по названию параметров думаю всё понятно, какой за что отвечает, по этому на их разборе останавливаться не будем.
Теперь смотрим какие могут быть ответы сервера, малварь проверяет возвращает ли пустой ответ, если да, то начинает перебирать массив доменов серверов в цикле, и отправлять этот запрос на каждый домен, и если в ответе будет строка == «
«, то малварь останавливается на этом домене и начинает работать с ним.
Мы определились с каким доменом работаем, теперь смотрим остальные ответы.
Если возвращается Response == «||youNeedMoreResources||» то сразу идет запрос на сервер для получения дополнительного модуля малвари:
gate_url?action=getModule&data=
Идем дальше, Response == «||no||»
отравляет на сервер запрос gate_url?action=registration&data=JSON:
Этот запрос служит для регистрации нового пользователя в админ панели, на этом запросы к серверу закончились.
Но ниже есть условие которое проверяет наличие файла «system.apk».
если файл присутствует, формируется JSON в виде:
В параметр response передается ответ с сервера, далее json передается в метод который находится модуле «system.apk» и с помощью класса DexClassLoader он выполняется.
Service_event_loop
Данный сервис работает в цикле и ждет команды на блокировку девайса. Девайс блокируется в цикле при помощи прав администратора.
Данный сервис умеет отключать права администратора, видимо автор малвари это решил сделать для «самоуничтожения» малвари, чтобы не оставлять следов на телефоне жертв.
Так же цикл имеет 2 скорости работы, 1 секунда и 8 секунд, если Accessibility Service отлючен, то работает на 1-й секунде и просит включить данный сервис, просто открывая Activity и заставляет включить специальные возможности, на практике подробно это рассмотрим.
В конце цикла также есть реализация как и в Service_server, а конкретне отправка команд в метод, который находится внутри подгруженного модуля «system.apk», но параметры не много другие, смотрим JSON:
tick — секунды которые считает цикл сервиса, accessibility — проверяет включен ли Accesibility Service.
Класс String(s)
Все строки внутри класс зашифрована алгоритмом RC4, после чего закодированы в base64.
зашифрованный строка: yyshybiwijujYzdkZDdkMjRlYjJmYjU5Y2Qw
где первые 12 символов страки это ключь расшифрования алгоритма RC4
Ключи: yyshybiwijuj
Зашифрованный текст: YzdkZDdkMjRlYjJmYjU5Y2Qw
Вот часть кода класса String(s)
Я написал скрипт, для преобразования данных строк в нормальный вид, это помогло мне скоротать немного времени.
Так же видим что в этом классе хранится:
URL сервера указан твиттер ресечера Lukas Stefanko(@LukasStefanko), видимо автор хотел пошутить или что-то сказать Лукасу (Это аналитик из NOD32), так же тут хранится имя Accessibility Service + то же название хранится в манифесте android:label=«Flash Player Service», и список стран, по которым не работает малварь.
Остальное
Кратко опишу работу инжектов. Она реализована просто, если включен Accessibility Service, то данный сервис просто ловит событие о запуске банковского приложения и запускает поверх активити банка свое активити, где оно имеет объект WebView который прогружает html-фейк банка, после чего получает данные с помощью JavaScript и отправляет данные на сервер малвари.
Так же в этом сервисе реализован Keylogger, блокировки удаления малвари и автоклик по подтверждениями. Было обнаружено взаимодействие отключения безопасности в приложение «com.miui.securitycenter». Это приложение называется «Безопасность» которые используется на девайсах Xiaomi, его основные задачи следить за безопасностью ваших конфиденциальных данных. Так же был обнаружен код для автоматического отключения «Google Play Protect» методом автоклика.
Перейдем к практике
Мне удалось найти твиттер злодеев и добыть скриншот админ панели
Устанавливаю apk-пакет на эмулятор с API 27.
На рабочем столе появилась иконка флеш плеера с названием «Flash Player»
Ждем по иконке, и у нас запускается малварь.
После запуска малвари, автоматический запускается Активити с требованием включения Accessibility Service, если свернуть ее, она появится снова и это происходит в цикле до тех пор пока я не включил сервис.
После включения галочки Accessibility Service, выполнился автоматический переход с настроек на рабочий стол, и больше у меня не получилось попасть в настройки Accessibility Service, также исчезла иконка с рабочего стола, через несколько секунд появился запрос отключения Doze Mode, он автоматически отключился благодаря автоклику специальных возможностей.
Cледом таким же образом было авто подтверждения прав администратора. Удалить малварь в ручном режиме не удалось так как при открытие настроек данного приложение был автоматический выход назад (GLOBAL_ACTION_BACK).
Собственно это все по первой части, в скором времени напишу вторую часть с дополнительным а возможно с основным модулем данного бота, так как найти apk файл малвари с валидной ссылкой на сервер мне не удалось.
Реверс малвари был реализован совместно с keklick1337
Обзор фрагментов кода самых популярных типов вирусов
Содержание статьи
В коллекции вредоносных Android-приложений некоторых антивирусных лабораторий содержится уже более 10 миллионов образцов. Эта цифра будоражит воображение, но примерно 9 миллионов 995 тысяч из них — переименованные копии оригинальных вирусов. Но если проанализировать исходный код оставшихся нескольких тысяч образцов малвари, то можно заметить, что все они комбинируются из небольшого количества уникальных функциональных блоков (несколько видоизмененных и по-разному скомбинированных).
Все дело в том, что вирмэйкеры чаще всего преследуют весьма тривиальные задачи:
Хакер #183. Малварь для Android
Отправка SMS
Самым распространенным типом вирусов являются SMS-трояны. Эти вирусы просто отправляют сообщения на платные номера без согласия пользователя. Создать такую программу или переписать готовую под нужный номер совсем легко. Да и процесс получения выгоды предельно упрощен — в отличие, например, от отслеживания банковских данных.
Далее приведен простейший пример кода. Это элементарная функция отправки SMS. Ее можно усложнить проверкой статуса отправки, выбором номеров в зависимости от места положения абонента и последующим удалением SMS.
Где искать код вируса
В абсолютном большинстве случаев заражение телефона происходит через установку приложений. Любое приложение для Android существует в виде файла с расширением apk, который, по сути, является архивом. Просмотреть его содержимое можно с помощью Android SDK, конвертера файлов APK в JAR и декомпилятора Java-байт-кода. Сборка приложения (APK) состоит из следующих частей:
Запись пользовательской информации в текстовый файл
Существует категория вирусов, которая охотится за персональными данными пользователей. Механизм их действия также несложен. Они либо загружают на сервер своего создателя файлы юзера, либо предварительно собирают какие-либо данные в txt (CSV, XML — не принципиально). Интерес для злоумышленников могут представлять контакты любого типа, сообщения из разных мессенджеров, медиафайлы и прочее.
SMS зараженных юзеров особенно ценны номерами телефонов отправителей и получателей — ими можно пополнить базу для спам-рассылок. Реже вирусы такого рода используются для заражения устройств конкретных личностей — в следующий раз, когда твоя девушка предложит тебе протестировать написанное ей (ай, карамба! — Прим. ред.) приложение на Android, не теряй бдительности :).
После того как информация записана, она переправляется в «нужные руки». Приведенный ниже код загружает историю звонков на сервер:
Сбор информации
В принципе, любому вирусмейкеру полезна информация о зараженных его программами устройствах. Получить ее очень просто. Создается массив с данными о свойствах телефона (их полный список можно посмотреть в руководстве Android-разработчика) и отправляется POST-запросом к PHP-скрипту (язык непринципиален) на сервере злоумышленника, тот обрабатывает данные и помещает их в базу данных для последующего использования.
Рутинг
Одна из самых неприятных вещей, которая может произойти с Android-устройством, — это его рутинг вирусом. Ведь после этого зловредная программа может делать с ним что угодно: устанавливать другие вирусы, менять настройки аппаратного обеспечения. Совершается это действо путем последовательного запуска эксплойтов:
Сайты о мобильной малвари
Блог экспертов компании Kasperskiy Lab Этот ресурс содержит качественные и подробные статьи о многих аспектах компьютерной безопасности, в том числе и об Android-вирусах. Стоит регулярно посещать этот сайт, чтобы быть в курсе последних событий.
Androguard Google Group Группа посвящена open source инструменту для всевозможных манипуляций с кодом Android-приложений (декомпиляция и модификация DEX/ODEX/APK файлов и так далее). Androguard также содержит обширную базу статей про вирусы. Помимо кратких обзоров функционала и методов защиты, встречаются подробные анализы кода малвари.
Защита от вирусов
Некоторые пользователи считают, что если скачивать приложения исключительно из Google Play и установить на смартфон антивирус, то это стопроцентно гарантирует безопасность. Не стоит обольщаться: в Сети регулярно появляются сообщения о нахождении малвари в официальном маркете. А количество вновь появившихся зловредных программ измеряется сотнями тысяч в месяц, что затрудняет их своевременное попадание в базы антивирусных программ. Реальную гарантию безопасности может дать ручной просмотр кода APK-файла перед установкой его на телефон. Не нужно быть гуру кодинга, чтобы заметить вредоносные фрагменты. А наша статья поможет тебе в этом.
Заключение
Как мы видим из примеров, мобильный вирмейкинг технологической сложностью не отличается. Конечно, данные примеры упрощены под формат журнала — прежде всего, упущены обработчики ошибок и исключений, а также отдельные технические мелочи, отсутствие которых не помешает тебе понять принципы работы Android-малвари, но оградит от ненужных экспериментов. Ведь мы не поддерживаем создание вирусов, не так ли? 🙂
Малварь для Android за полчаса. Отслеживаем местоположение, читаем SMS, пишем аудио и делаем фото
Содержание статьи
Возможности будут следующие:
Все это приложение будет отправлять на удаленный сервер, где мы сможем проанализировать результаты его работы.
WARNING
Важно! Создание и распространение вредоносных программ карается лишением свободы до четырех лет (статья 273). Мы не хотим, чтобы ты сломал себе жизнь в местах не столь отдаленных, поэтому публикуем статью исключительно в образовательных целях. Ведь лучший способ разобраться в работе зловредного ПО — это узнать, как оно создается.
Каркас
По понятным причинам я не смогу привести полный код приложения в статье, поэтому некоторые задачи тебе придется выполнить самому (для этого потребуются кое-какие знания в разработке приложений для Android).
На этом этапе задача следующая: создать приложение с пустым (или просто безобидным) интерфейсом. Сразу после запуска приложение скроет свою иконку, запустит сервис и завершится (сервис при этом будет продолжать работать).
Начнем. Создай приложение, указав в манифесте следующие разрешения:
Добавь их описание в манифест (здесь и далее наше приложение будет называться com.example.app):
Всю злобную работу мы будем делать внутри сервиса, поэтому наша Activity будет очень проста:
Этот код запустит сервис сразу после запуска приложения и отключит активность. Побочным эффектом последнего действия станет завершение приложения и исчезновение иконки из лаунчера. Сервис продолжит работу.
Информация о местоположении
Теперь мы должны добавить в сервис код, который будет собирать интересующую нас информацию.
Начнем с определения местоположения. В Android есть несколько способов получить текущие координаты устройства: GPS, по сотовым вышкам, по Wi-Fi-роутерам. И с каждым из них можно работать двумя способами: либо попросить систему определить текущее местоположение и вызвать по окончании операции наш колбэк, либо спросить ОС о том, какие координаты были получены в последний раз (в результате запросов на определение местоположения от других приложений, например).
В нашем случае второй способ намного удобнее. Он быстрый, абсолютно незаметен для пользователя (не приводит к появлению иконки в строке состояния) и не жрет аккумулятор. Кроме того, его очень просто использовать:
Данная функция спрашивает систему о последних координатах, полученных с помощью определения местоположения по сотовым вышкам и по GPS, затем берет самые свежие данные и возвращает их в форме объекта Location.
Далее можно извлечь широту и долготу и записать их в файл внутри приватного каталога нашего приложения:
Когда придет время отправлять данные на сервер, мы просто отдадим ему этот и другие файлы.
Список установленных приложений
Получить список установленных приложений еще проще:
Метод получает список всех приложений и сохраняет его в файл apps внутри приватного каталога приложения.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Евгений Зобнин
Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.
Android malware по-взрослому. Самые популярные вирусные техники 2017 года
Содержание статьи
WARNING
Материал адресован специалистам по безопасности и тем, кто собирается ими стать. Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Источник эпидемии
Кстати, а откуда вообще берется андроид-ориентированная малварь? Наверное, из пиратских программ? С пиратских дискет? С пиратских компакт-дисков? Нет, погоди-ка, ведь сейчас у нас не 1997 год, а целый 2017-й. наверное, с подпольных репозиториев? Ан нет, оказывается, самый популярный репозиторий мобильных приложений, Google Play, серьезно подпортил свою репутацию — в 2017 году все самые успешные мобильные трояны и вирусы распространялись через него. Похоже, проблема в слишком богатом выборе для пользователя. На любой запрос найдется несколько десятков приложений, и большинство из них будет мусором.
Малоинформативные и подозрительные отзывы
Даже если внимательно изучать описание приложения, до его установки все равно трудно понять, что именно оно делает. Опираться на опыт других пользователей тоже не получается — в Google Play очень много приложений с купленными отзывами. Как ты понимаешь, стоит один раз запустить троян и потом будет очень сложно от него избавиться. А если же у трояна будет еще и полезная нагрузка, то простому пользователю вычислить наличие вредоносного контента практически невозможно.
Прошлогодняя статья «Анатомия Android-малвари» во многом еще актуальна.
Где я?
Эффективность трояна во многом зависит от того, насколько хорошо он умеет адаптироваться под разные устройства. Начинать приходится с малого — определения версии ОС на устройстве жертвы, эта информация есть в классе Build.
Но этой информации будет недостаточно, вендоры любят модифицировать прошивку так, что без падений не удается обойтись даже легальным приложениям. Наверняка ты знаком с оболочкой MIUI, которая серьезно поменяла принципы работы ОС, а китайских телефонов сейчас очень много. Больше данных об устройстве доступно из консольной команды getprop.
Вызов getprop даст много информации, можно отбросить часть с помощью grep (более подробные исходники смотри здесь).
Довольно часто «продвинутый пользователь» получает права суперпользователя в системе. Рут открывает не только расширенные возможности для юзера, но и раздолье для трояна. Стратегий определения наличия прав на устройстве много. Самое простое — пройтись по директориям в поисках бинарника su. Вот примерный набор подходящих для него путей:
Наличие его хотя бы в одном месте с высокой вероятностью укажет, что на устройстве доступны права суперпользователя.
Если троян сможет внедриться в пространство других приложений, то пользователя спасет только полная переустановка ОС. Root-права позволяют инжектить в системные вызовы, вставляя вредоносный код в самые неожиданные места. Для таких «хуков» есть готовые фреймворки, более подробно можешь посмотреть в нашей статье про Xposed.
Если кратко, то подобные инжекты предоставляют злохакерам самые широкие возможности — от замены ID рекламных баннеров, что позволяет получать деньги за чужой показ рекламы, до модификации системных утилит.
Старая уязвимость лучше новых двух
Если ты не следишь вплотную за статистикой мира Android, то можешь удивиться: еще в апреле каждое третье Android-устройство работало под операционной системой версии 4.4 и ниже. Это старые операционки, для которых уже долгое время в публичном доступе есть множество хакерских утилит.
На GitHub давно выложены исходники хорошо написанного трояна GmBot. Он как раз заточен под четвертую версию ОС и умеет практически все: манипулировать персональной информацией, СМС, камерой и прочее.
GmBot сделан очень качественно, и неудивительно, что появилась целая плеяда малвари, основанной на выложенном исходном коде. Один из наиболее успешных охотников за старыми устройствами — троян CopyCat. По статистике Check Point, у него 14 миллионов заражений и на восьми миллионах из них получен root-доступ. При этом CopyCat не использовал никаких секретных эксплоитов — сплошной паблик. К примеру, вот один из них на GitHub.
Гоним рекламу
Согласно статистике, в этом году наибольший рост показали так называемые Adware — вирусы, зарабатывающие на демонстрации рекламы пользователю. Летом в Google Play была обнаружена корейская малварь Judy: для ее распространения создали более сорока приложений, каждое из которых пользовалось большим успехом — миллионы загрузок и активных пользователей.
Приложения действительно работали, это были незатейливые игры, рассчитанные на пользователей школьного возраста. Пока ребенок играл в клон «Веселой фермы», троян самостоятельно кликал по рекламным баннерам, зарабатывая копеечку своим создателям.
Притягательная игра с плохим содержимым
Чтобы не гонять лишний трафик, троян умел находить ссылки на партнерки и переходил только по ним. Сначала Judy получал с управляющего центра ссылку на страницу с рекламой, на которой висели партнерские баннеры, и загружал себе ее контент. Реализовать это можно, к примеру, с помощью HttpURLConnection.
На загруженной странице открывались не все ссылки подряд, а только рекламные. Для парсинга строк есть класс Pattern, полностью повторяющий синтаксис регулярных выражений языка Perl. Поначалу это похоже на мешанину, а потом разбираешься и парсинг идет на ура. У партнерки будут какие-то общие признаки — один домен, реферер и так далее. Вот такой регуляркой вытаскиваются все ссылки на поддомены google.com:
Хозяева рекламной площадки не должны знать, что баннеры загружаются в автоматическом режиме, значит, нужно открывать ссылки настоящим браузером. Это несложно, в Android есть класс WebView — полноценный браузер на движке Chrome. Любопытно, что, открывая страницу, малварь мимикрировала под полноценный компьютер — видимо, для таких переходов стоимость клика выше.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее