как кинуть вирус на телефон
Как «работает» вирус через смс в смартфоне Андроид

На данный момент самыми уязвимыми считаются Android-смартфоны. Появился новый вирус через смс на Андроид.
В смартфонах с открытым кодом, каковой собственно и является операционная система Андроид, новые вирусы распространяются с невероятной быстротой.
Цели злоумышленников теперь изменились. Ранее они пытались лишь воспользоваться деньгами в мобильниках, а сегодня под прицелом банковские карточки и все средства, которые есть в интернет-банке. Мошенников в первую очередь интересуют смартфоны с поддержкой услуги «Мобильный банк». Она позволяет украсть со счета жертвы деньги на номер мошенника. Для этого они отправляют вирус через смс на Андроид.
Как действуют мошенники
Первый подобный вирус активизировался в начале лета 2017 г. Опасность в том, что троянец функционирует в Android-смартфоне удаленно.
Злоумышленники отправляют SMS на нужный номер, поэтому чтобы идентифицировать наличие этого вируса в своем мобильном гаджете владельцы смартфонов должны обратить внимание на рост количества SMS-сообщений ценой по 100 рублей. В результате с мобильного счета хозяина смартфона снимается сумма, кратная 100.
Чтобы существенно заработать, злоумышленник вынужден отправлять несколько SMS-троянцев с номера своей жертвы. Ведь в этой мошеннической цепочке работает не только он один.
Троянец поселяется в гаджете жертвы, и с номера жертвы шлет СМС-ки на «дорогой» номер мошенников. И именно за эти СМС-ки в адрес этого «дорогого» номера с жертвы снимают по 100 руб. за каждое несанкционированное СМС-сообщение.
Посредниками в данной схеме могут выступать оператор связи, провайдер и другие партнеры, которые могут и не знать о проделках мошенников. Чтобы покрыть все расходы и заработать, злоумышленнику необходимо снять с каждого номера не менее 1000 рублей.
При этом нельзя исключить возможность, что владельцы смартфонов могут пожаловаться своему оператору на кражу денег. И тогда сотовые операторы предпринимают ответные меры, мешающие совершать махинации. Например, они могут ввести обязательный ввод дополнительных подтверждений перед списанием денег и тому подобное. В такой ситуации злоумышленники вынуждены искать новые способы мошенничества.
Благодаря этим факторам появился еще один троянец. Этот представитель Trojan-SMS также выполняет поступающие с удаленного сервера команды.
Новый вирус является более гибким и отлично ориентируется в любых условиях уже с учетом барьеров сотового оператора, и даже состояния счета абонента и времени совершения операций.
Как функционирует вирус
Новый вирус является спящим – он не обладает самостоятельностью. Даже попав в смартфон, он не проявляется никак. Чтобы он заработал, требуется удаленная команда хозяина телефона.
Для этого используется так называемый POST запрос. Он предназначен для запроса, при котором веб-сервер принимает для хранения данные, заключённые в тело сообщения. Он часто используется, например, для загрузки файла.
Использование запроса POST позволяет установить связь с удаленным сервером и получить соответствующую команду, получив которую, троянец начинает отправлять с номеров своих жертв дорогостоящие SMS-сообщения на номер мошенников.
Как действует новый троянец? Например, программа автоматически рассылает SMS-сообщения с одним словом «BALANCE» на номер с поддержкой «Мобильного банка».
Отправляя смс-сообщение c короткого номера, мошенники таким образом могут проверить, есть ли на номере жертвы привязка к счету в банке и какое там состояние счета.
Примеры из жизни
Например, у Сбербанка номер, с которого отправляются сообщения – 900. Когда приходит сообщение «BALANCE» (или, возможно, по-русски «баланс») от отправителя 900, то владелец телефона, доверяя Сбербанку и будучи уверенным, что это сообщение именно от этого банка, открывает сообщение и отвечает на него, желая узнать, что случилось с балансом. Таким образом мошенники получают ответ на свою смс-ку, который для них означает, что к телефону прикреплена банковская карта. Более того, им становится понятно, что этой картой можно управлять с помощью SMS-команд, что входит в услугу «Мобильный банк». А дальше, как говорится, «дело техники».
Одна моя знакомая недавно получила сообщения с короткого номера 4-74-1, который числится за мобильным банком Сбербанка с сообщением «Услуга недоступна, попробуйте позже». Ответ она по понятным причинам не отправляла, уже зная про возможные угрозы. Явно это такие же мошенники, маскируясь под мобильный банк, пытались таким образом вычислить ее реакцию и определить, установлен ли на ее смартфоне мобильный банк.
А дальше, если мошенники вычисляют наличие на мобильном устройстве мобильного банка, то для них не составит труда к нему подключиться несанкционированным образом. К сожалению, подобный сервис «Мобильный банк» пока еще недостаточно защищен. Хотя, конечно, банки и их службы информационной безопасности постоянно над этим работают, создавая более удобные и надежные сервисы.
Как хакеры создают трояны для Андроид?
Android принято называть рассадником вредоносных программ. Каждый день здесь выявляют более 8 тысяч новых образцов вирусов. И эти цифры постоянно растут.
Но задумывались ли вы, как эти вредоносные программы работают? Сегодня мы разберемся с этим, изучив приложение для Android, способное собирать информацию об устройстве, его местоположении, делать фотографии и записывать аудио. И все это с удаленным управлением.
Как написать троян на Андроид
Возможности трояна будут следующие:
Все эти данные наше приложение будет отправлять на удаленный сервер, где мы сможем проанализировать результаты его работы.
По понятным причинам я не смогу привести полный код приложения в статье, поэтому некоторые задачи вам придется выполнить самим (для этого потребуются кое-какие знания в разработке приложений для Android).
Каркас
На этом этапе задача следующая: создать приложение с пустым (или просто безобидным) интерфейсом. Сразу после запуска приложение скроет свою иконку, запустит сервис и завершится (сервис при этом будет продолжать работать).
Начнем. Создайте приложение, указав в манифесте следующие разрешения:
В «build.gradle» укажите «compileSdkVersion 22» и «targetSdkVersion 22». Так вы избавите приложение от необходимости запрашивать разрешения во время работы (22 — это Android 5.1, обязательный запрос разрешений появился в 23 — Android 6.0, но работать приложение будет в любой версии).
Теперь создайте пустую Activity и Service. В метод «onStartCommand» сервиса добавьте строку «return Service.START_STICKY». Это заставит систему перезапускать его в случае непреднамеренного завершения.
Добавьте их описание в манифест (здесь и далее наше приложение будет называться com.example.app):
Всю злобную работу мы будем делать внутри сервиса, поэтому наша Activity будет очень проста:
Этот код запустит сервис сразу после запуска приложения и отключит активность. Побочным эффектом последнего действия станет завершение приложения и исчезновение иконки из лаунчера. Сервис продолжит работу.
Информация о местоположении
Теперь мы должны добавить в сервис код, который будет собирать интересующую нас информацию.
Начнем с определения местоположения. В Андроид есть несколько способов получить текущие координаты устройства: GPS, по сотовым вышкам, по WiFi-роутерам. И с каждым из них можно работать двумя способами: либо попросить систему определить текущее местоположение и вызвать по окончании операции наш колбэк, либо спросить ОС о том, какие координаты были получены в последний раз (в результате запросов на определение местоположения от других приложений, например).
В нашем случае второй способ намного удобнее. Он быстрый, абсолютно незаметен для пользователя (не приводит к появлению иконки в строке состояния) и не жрет аккумулятор. Кроме того, его очень просто использовать:
Данная функция спрашивает систему о последних координатах, полученных с помощью определения местоположения по сотовым вышкам и по GPS, затем берет самые свежие данные и возвращает их в форме объекта Location.
Далее можно извлечь широту и долготу и записать их в файл внутри приватного каталога нашего приложения:
Когда придет время отправлять данные на сервер, мы просто отдадим ему этот и другие файлы.
Список установленных приложений
Получить список установленных приложений еще проще:
Метод получает список всех приложений и сохраняет его в файл apps внутри приватного каталога приложения.
Дамп СМС
Уже сложнее. Чтобы получить список всех сохраненных СМС, нам необходимо подключиться к БД и пройтись по ней в поисках нужных записей. Код, позволяющий дампнуть все СМС в файл:
Использовать его следует так:
Записи в файле будут выглядеть примерно так:
Скрытая запись аудио
Записать аудио с микрофона можно с помощью «API MediaRecorder». Достаточно передать ему параметры записи и запустить ее с помощью метода «start()». Остановить запись можно с помощью метода «stop()». Следующий код демонстрирует, как это сделать. В данном случае мы используем отдельный спящий поток, который просыпается по истечении заданного тайм-аута и останавливает запись:
Использовать его можно, например, так:
Данный код сделает 15-секундную запись и поместит ее в файл audio-ДАТА-И-ВРЕМЯ.3gp.
Скрытая съемка
С камерой сложнее всего. Во-первых, по-хорошему необходимо уметь работать сразу с двумя API камеры: классическим и Camera2, который появился в Android 5.0 и стал основным в 7.0. Во-вторых, API Camera2 часто работает некорректно в Android 5.0 и даже в Android 5.1, к этому нужно быть готовым. В-третьих, Camera2 — сложный и запутанный API, основанный на колбэках, которые вызываются в момент изменения состояния камеры. В-четвертых, ни в классическом API камеры, ни в Camera2 нет средств для скрытой съемки. Они оба требуют показывать превью, и это ограничение придется обходить с помощью хаков.
Учитывая, что с Camera2 работать намного сложнее, а описать нюансы работы с ней в рамках данной статьи не представляется возможным, я просто приведу весь код класса для скрытой съемки. А вы можете либо использовать его как есть, либо попробуете разобраться с ним самостоятельно (но я предупреждаю: вы попадете в ад):
Этот код следует вызывать в отдельном потоке, передав в качестве аргументов место расположения камеры («front» — передняя, «back» — задняя) и каталог, в который будут сохранены фотографии. В качестве имен файлов будет использована текущая дата и время.
Складываем все вместе
С этого момента у нас есть каркас приложения, который запускает сервис и скрывает свое присутствие. Есть набор функций и классов, которые позволяют собирать информацию о смартфоне и его владельце, а также скрыто записывать аудио и делать фото. Теперь нужно разобраться, когда и при каких обстоятельствах их вызывать.
Если мы просто засунем вызов всех этих функций в сервис, то получим бесполезное «одноразовое приложение». Сразу после запуска оно узнает информацию о местоположении, получит список приложений, СМС, сделает запись аудио, снимок, сохранит все это в файлы в своем приватном каталоге и уснет. Оно даже не запустится после перезагрузки.
Гораздо более полезным оно станет, если определение местоположения, дамп приложений и СМС будет происходить по расписанию (допустим, раз в полчаса), снимок экрана — при каждом включении устройства, а запись аудио — по команде с сервера.
Задания по расписанию
Чтобы заставить Android выполнять код нашего приложения через определенные интервалы времени, можно использовать AlarmManager. Для начала напишем такой класс:
Метод «set()» установит «будильник», срабатывающий каждые тридцать минут и запускающий метод «onReceive()». Именно в него вы должны поместить код, скидывающий местоположение, СМС и список приложений в файлы.
В метод «onCreate()» сервиса добавьте следующую строку:
Снимок при включении экрана
Бессмысленно делать снимок каждые полчаса. Гораздо полезнее делать снимок передней камерой при разблокировке смартфона (сразу видно, кто его использует). Чтобы реализовать такое, создайте класс ScreenOnReceiver:
И добавьте в манифест следующие строки:
Запуск при загрузке
В данный момент у нашего приложения есть одна большая проблема — оно будет работать ровно до тех пор, пока юзер не перезагрузит смартфон. Чтобы перезапускать сервис при загрузке смартфона, создадим еще один ресивер:
И опять же добавим его в манифест:
Запись аудио по команде
С этим немного сложнее. Самый простой способ отдать команду нашему трояну — записать ее в обычный текстовый файл и выложить этот файл на сервере. Затем поместить в сервис код, который будет, допустим, каждую минуту чекать сервер на наличие файла и выполнять записанную в нем команду.
В коде это может выглядеть примерно так:
Конечно же, у этого кода есть проблема — если вы один раз запишете команду в файл на сервере, троян будет выполнять ее каждую минуту. Чтобы этого избежать, достаточно добавить в файл числовой префикс в формате «X:команда» и увеличивать этот префикс при каждой записи команды. Троян же должен сохранять это число и выполнять команду только в том случае, если оно увеличилось.
Гораздо хуже, что ваш троян будет заметно жрать батарею. А Андроид (начиная с шестой версии) будет его в этом ограничивать, закрывая доступ в интернет.
Чтобы избежать этих проблем, можно использовать сервис push-уведомлений. OneSignal отлично подходит на эту роль. Он бесплатен и очень прост в использовании. Зарегистрируйтесь в сервисе, добавьте новое приложение и следуйте инструкциям, в конце ван скажут, какие строки необходимо добавить в build.gradle приложения, а также попросят создать класс вроде этого:
Но это еще не все. Также ван нужен сервис — обработчик push-уведомлений, который будет принимать их и выполнять действия в зависимости от содержащихся в push-уведомлении данных:
Этот код трактует содержащуюся в уведомлении строку как команду и, если эта команда — record, выполняет нужный нам код. Само уведомление не появится на экране, поэтому пользователь ничего не заметит.
Последний штрих — добавим сервис в манифест:
Отправка данных на сервер
На протяжении всей статьи мы обсуждали, как собрать данные и сохранить их в файлы внутри приватного каталога. И теперь мы готовы залить эти данные на сервер. Сделать это не так уж сложно, вот, например, как можно отправить на сервер нашу фотку:
Вызывать этот метод нужно из метода «onReceive()» класса Alarm, чтобы каждые тридцать минут приложение отправляло новые файлы на сервер. Отправленные файлы следует удалять.
Ну и конечно же, на стороне сервера вам необходимо реализовать хендлер, который будет обрабатывать аплоады. Как это сделать, сильно зависит от того, какой фреймворк и сервер вы используете.
Выводы
Android — очень дружелюбная к разработчикам сторонних приложений ОС. Поэтому создать троян здесь можно, используя стандартный API. Более того, с помощью того же API его иконку можно скрыть из списка приложений и заставить работать в фоне, незаметно для пользователя.
Имейте ввиду! Андроид 8 хоть и позволяет собранным для более ранних версий Android приложениям работать в фоне, но выводит об этом уведомление. С другой стороны, много ли вы видели смартфонов на Android 8 в дикой природе?
На этом все. Теперь вы знаете как хакеры создают трояны для Андроид, а о том как от них защититься мы уже неоднократно писали (используйте поиск по сайту).
Как вирусы попадают на телефон и действительно ли это опасно
Компьютерный вирус — это такая зараза, которая может подпортить жизнь любому пользователю. С тех пор, как смартфоны превратились в компьютеры, вирусы стали угрожать и им. Настоящий бум вирусов произошел тогда, когда смартфон стал связан с деньгами. В них появилась много платных сервисов, а пользователи начали привязывать к ним карты и включать автопополнение счета телефона. Это стало настоящим раздольем для тех, кто хочет заработать много нечестных денег. Но не все так страшно, и сам вирус на ваше устройство не попадет. Есть лишь несколько направлений, откуда он может появиться и просто надо чуть пристальнее за ними следить.
Вирус на телефоне может оказаться опаснее, чем кажется. А может и не оказаться.
Какие вирусы бывают для телефона
Как и обычный вирус, компьютерный является паразитирующей ”формой жизни”. Только обычный трудится на благо самого себя и своей популяции, а компьютерный — на благо того, кто его создал.
Воообще, вирус — это зловредный код, который встраивается в приложение или операционную систему и заставляет ее работать не так, как было задумано изначально. Именно поэтому вирусы делятся на разные типы. Как раз по принципу того, как они действует.
В основном вирусы длятся на ”поделки” и ”трояны”. Первые просто заменяют собой приложение. Он дублирует его иконку и расположение. Иногда даже заставку и главный экран. Все для того, чтобы пользователь до последнего не догадался, что запускает вирусное приложение. Его надо именно запустить и дать ему права, чтобы он начал работать. Иначе операционная система, скорее всего, просто не даст ему развернуться.
Трояны куда более хитрые. Их код просто встраивается в обычные приложения или операционные системы и работает вместе с ними, только периодически дает команду отправить данные куда-нибудь на сторону. В итоге, мошенники могут получить доступ к очень важным данным.
Наш смартфон хранит в себе слишком много информации. Это и интересно мошенникам.
Что может сделать вирус на телефоне
Так как телефон каждого современного пользователя связан с деньгами, вирусы могут быть достаточно опасными. Они могут совершать звонки, отправлять SMS на платные номера (и оператор будет не виноват, когда спишет с вас круглую сумму), активировать дорогие подписки и тому подобное. Также вирусы могут просто воровать данные. Например, фотографии, заметки, данные банковских карт или даже адресную книгу. В последнем случае кажется, что это не так страшно, но именно это является одним из каналов пополнения базы спамеров.
Иногда вирусы действуют более безобидно. Они просто активируют рекламу на вашем телефоне и вы постоянно сталкиваетесь с надоедливыми баннерами. Впрочем, некоторые хакеры идут дальше и заряжают ваше устройство вирусами, которые могут просто заблокировать его и не дать делать ничего, кроме ввода кода. Код этот, естественно, надо будет купить за несколько тысяч рублей.
Как вирус попадает на телефон
Самый главный, наверное, канал заражения вирусом — это APK. Не все приложения можно скачать из Google Play, поэтому пользователи часто скачивают именно такие файлы и устанавливают их. Замаскировать под них вирус проще простого. Часто ссылка на такой APK-файл приходит в СМС рассылке, которая на первый взгляд кажется полезной. Конечно, это не значит, что качать APK нельзя. Просто надо быть внимательными к источнику. Например, долгое время игру Fortnite нельзя было скачать в Google Play и она распространялась именно так. Взять ссылку с сайта разработчика в этом случае безопасно.
Конечно, Google Play тоже пестрит вирусами, несмотря на то, что цензоры стараются проверять их максимально тщательно. Но, как правило, вирусы в Google Play не такие страшные и риск скачать их не такой большой. Особенно, если вы не выходите за пределы используемых большинством людей приложений. Чаще всего они бывают в неизвестных играх, наборах заставок и приложениях, обещающих ”взрослый контент”. Что касается последнего, с подобными сайтами тоже надо быть осторожней. Да и вообще, не качать все подряд откуда не попадя.
Скачивая все подряд, можно скачать что-то плохое.
Опасен ли вирус на смартфоне
Чаще всего сам вирус на смартфоне безопасен, и чтобы он начал работать, его надо не просто скачать, а распаковать и установить. Только в этом случае он будет действительно опасен. Если вы еще и запустите это ”приложение”, дав ему все права, включая права на осуществление телефонных звонков и отправку СМС, то в этот момент он и может проявиться.
Стоит ли пользоваться антивирусами для телефона
Этим вопросом задаются люди с тех пор, как появились первые вирусы, если не первые компьютеры. Каждый решает для себя сам. Лично я считаю, что антивирусы не нужны, если соблюдать хотя бы минимальные требования ”гигиены”.
Если вы начинающий пользователь, то, возможно, в этом есть смысл, но надо понимать, что антивирус будет отбирать ресурсы системы и снижать время автономной работы. А еще непонятно, куда сам антивирус будет что-то отправлять. Если решите его поставить, главное выбирайте решение именитого производителя и не устанавливайте больше одной антивирусной программы.
Как понять, что на телефоне вирус
Прежде всего, вы заметите странное поведение устройства. Оно может начать тормозить, греться или просто меньше работать от батареи. Так же на размышления должны натолкнуть приложения, которые требуют слишком много прав. Например, если вы скачали игру, а она просит разрешение на осуществление телефонных звонков и не запускается, если не дать ей эти разрешения — это повод задуматься.
Microsoft запускает антивирус для Android. Почему это полный шлак
Впрочем, это тоже не самые верные признаки и иногда даже вполне приличные приложения могут себя так вести. Также они могут запрашивать и другие разрешения. Например, если кто-то захочет подсматривать за вами, то запросит разрешение на использование камеры. Если ему нужны будут файлы, то потребуется доступ к хранилищу данных и так далее.
Главное понимать, что приложения, которые вам подсунут через рассылку или вы скачаете на неизвестном сайте, почти наверняка окажутся вирусами. А еще надо понимать, что распознать качественно сделанный вирус очень сложно. Поэтому просто не надо качать все подряд и давать этому лишние права.
Что делать, если телефон заблокирован вирусом
Прежде всего надо вытащить симку, чтобы злоумышленники не смогли получить доступ к платным услугам. Еще хорошо бы отключить Wi-Fi, если есть такая возможность. Если возможности нет, надо просто отключить роутер, пока не разберетесь с проблемой. Главное помните, что платить никому ничего не надо. Скорее всего, это не поможет и телефон вам никто не разблокирует.
В какой-то момент ваш смартфон может начать работать против вас.
После того, как отключили связь, попробуйте перезагрузить телефон в безопасном режиме. Если банер пропадет, то отключите права администратора у всех приложений и удалите те, которые вы не устанавливали. После этого можно попробовать перезагрузить телефон в обычном режиме и посмотреть, что получится.
А вы знали, что мы объединили все раши сайты в один крутой канал в TikTok? Если нет, заходите посмотреть. Если да, тоже заходите!
Если это не помогает, то останется только сбросить телефон до заводских настроек. Это должно помочь, но удалит все данные, которые не были синхронизированы с облаком или компьютером. Поэтому делайте резервные копии и будьте бдительными. Тогда ни одна зараза не пройдет. Да и в обычной жизни будьте внимательнее и носите маски в общественным местах. Борьба с вирусами и в обычной жизни, и в компьютерной очень похожа.
Вирусы для Android. Способы заражения.
В наше время люди доверяют все больше личной информации смартфонам и планшетам. Просмотреть аккаунты в соцсетях, фотографии и почтовые сообщения, узнать банковские данные, местоположение и даже распорядок дня можно, получив доступ к данным смартфона. Злоумышленники используют ошибки в программном обеспечении, недокументированные возможности, а в большинстве случаев — людские слабости и пороки, чтобы внедрить малварь на устройство.
Вредоносные программы становятся все хитрее и изворотливее, пытаясь скрыть свое присутствие. И если одни просто вываливают на пользователя кучу рекламы, то другие вовсе не так безобидны. Хорошенько обосновавшись на смартфоне, они шантажируют юзера, заставляя его платить за доступ к своим же данным, а то и следят за каждым его шагом и действием. Мы уже расказывали вам как написать вирус для android. А о самых модных тенденциях в создании и распространении вирусов и пойдет речь в этой статье.
ЗАРАЖЕНИЕ ВИРУСАМИ В АНДРОИД
Самый простой и распространенный способ заражения — взять популярную программу, расковырять ее и вставить внутрь нехороший код. Затем запаковать и выдать за бесплатную версию или версию с дополнительными функциями. Такие программы «с сюрпризом» появляются не только в неофициальных магазинах приложений для Android, периодически они просачиваются и на официальный Play Market.
Реализуется такой подлог очень просто.
Злоумышленник скачивает APK популярной программы с маркета, воспользовавшись, к примеру, этим сервисом https://apps.evozi.com/apk-downloader/
Распаковывает приложение утилитой apktool:
Пишет код зловреда, например получатель широкоформатных уведомлений, который срабатывает после перезагрузки устройства и начинает посылать команды другим частям зловреда каждую секунду:


Осталось упаковать программу-жертву обратно все той же утилитой apktool, и приложение «с подарочком» готово.
Если в качестве жертвы выбрать приложение с подходящими разрешениями, то оно не вызовет у пользователя ни малейших подозрений! Если же подобрать необходимые разрешения не получается, то вирусам приходится заставлять пользователя дать им расширенные права, показывая свой диалог поверх системного. Например, так поступают Trojan-Banker.AndroidOS. Asacub и Trojan-SMS.AndroidOS.Tiny.aw. Да-да, Android позволяет создавать окна, которые будут отображаться поверх всех остальных приложений и диалогов, в том числе и системных. Для этого понадобится всего лишь создать нужный View и добавить его в WindowManager:

Запросить права администратора устройства можно с помощью интента, где VirusDeviceAdminReceiver наследует DeviceAdminReceiver:


Почему Вирусы для андроид так популярны?
ОБХОД АНТИВИРУСНЫХ СКАНЕРОВ
Времена свободного доступа любого приложения в Play Market подходят к концу. Ребята из Google сообразили, что надо принимать хоть какие-то меры, чтобы остановить нашествие огромного количества вирусов, и ввели систему проверки приложений. Создатели вирусов мгновенно отреагировали и начали вставлять механизмы обхода проверки.
Один из интересных методов — отложенный старт вредоносной активности. Например, приложение месяц ведет себя как обычная игрушка или справочник, тысячи пользователей скачивают его и оставляют восторженные отзывы, привлекая все большую аудиторию. А через некоторое время в приложении вдруг просыпается зло, и оно начинает показывать фейковые диалоги, скачивать и устанавливать нежелательный софт.
Другие вирусы, такие как семейство Leech, определяют свой IP-адрес в сети и, если он попадает в IP-диапазон, используемый Google, или же имя хоста айпишника содержит слова google, android, 1e100, сразу же прекращают работу, чтобы не вызывать подозрений у системы автоматической проверки. Причем делают они это по-хитрому, ведь если использовать стандартные средства Android, то придется запрашивать у пользователя дополнительные разрешения. Поэтому злоумышленники обращают свой взор на такие ресурсы, как ipinfo.io. Не составит труда загрузить страничку в строку и найти там нужную информацию: 
Развиваются и методы обхода статического анализа кода. Один из способов — использовать динамическую загрузку библиотек с вредоносной нагрузкой. В результате само приложение выглядит вполне невинно. Для загрузки внешнего кода используется класс DexClassLoader, который умеет загружать классы из JARили APK-файлов в формате DEX.

После загрузки класса можно спокойно дергать его методы с помощью рефлексии. Внешнюю библиотеку можно как разместить в самом APK, так и скачать из Сети после установки. Чтобы еще больше усложнить обнаружение вредоносного кода, злоумышленники шифруют такие программные модули и дают им трудноугадываемые имена.
Некоторые вирусописатели идут дальше и выкладывают в маркет приложения, которые после установки скачивают и устанавливают вирусные аппликухи самостоятельно, маскируя их под системные утилиты. Так что, даже если пользователь удалит изначальное приложение, вирус будет преспокойно обитать на устройстве и дальше. Такой подход реализован, например, в приложении BrainTest.
Для установки новых приложений без ведома пользователя злоумышленники используют утилиту pm:


СПОСОБЫ ОБОГАЩЕНИЯ НА ВИРУСАХ ДЛЯ АНДРОИД
Самый простой способ нажиться на бедных пользователях — заставить их просматривать рекламу. Например, приложение Who Viewed Me on Instagram обещает показать пользователю его тайных поклонников в инстаграме, а вместо этого ворует учетные данные и размещает кучу рекламы в профиле пользователя. Приложение использует возможность вызова методов Android-приложения из JavaScript-кода. Чтобы украсть учетную запись пользователя, вредонос просит пользователя залогиниться в своем окне с WebView, а после загрузки логин-страницы инстаграма добавляет кусочек своего кода к кнопке входа.


Следует отметить, что после удаления одной версии программы автор сразу же разместил аналогичную, лишь слегка изменив название. И она спокойно прошла контроль со стороны Play маркета! Похоже, что Большой Брат не так уж пристально следит за разработчиками.
Между прочим, количество загрузок у подобных «полезных приложений» иногда переваливает за 100 тысяч! Так что, если приложение просит тебя залогиниться в соцсеть в своем окне, самое время насторожиться и вспомнить, что конкретно тебе известно об этом приложении.
Другой набирающий популярность способ обогащения — вирусы-вымогатели. Попав на устройство, они получают права рута, часто шифруют пользовательские данные и показывают окно с требованием выкупа, предотвращая попытки пользователя запустить другие приложения. Так ведут себя, к примеру, вирусы семейства Fusob.
Первоочередная задача программы-вымогателя — получить рут на устройстве жертвы. К сожалению простых пользователей, в Сети гуляет бесчисленное множество эксплоитов, позволяющих незаметно повысить права приложения до суперпользовательских. Например, Towelroot постоянно обновляется и совершенствуется своим создателем. Неплохую базу эксплоитов собрала группа Offensive Security, ну и конечно, все самые свежие уязвимости можно посмотреть на CVE.
Получив рут, зловред с помощью класса ActivityManager начинает контролировать работу других приложений, убивая нежелательные:



Есть и более безобидные способы обогащения. Например, популярное приложение «Фонарик» втихаря собирало данные о месторасположении пользователей, которые разработчик потом продавал рекламщикам для таргетирования рекламы.
ВЫВОДЫ
В этой статье мы разобрали все ключевые моменты кода, которые позволяют современной малвари реализовывать зловредные идеи своих плохих авторов. Обладающему этими знаниями программисту бояться нечего :), а что же делать простому пользователю? Если не хочется устанавливать кучу антивирусного софта на девайс, всегда можно скачать APK перед установкой и проверить его на наличие вирусов онлайн-утилитами, например тем же Вирустоталом. Ими же могут воспользоваться разработчики, чтобы удостовериться, что их новое приложение не будет принято за вирус.







