Файлы apk чем опасны

Обновлено: 07.07.2024

Принято считать, что ставить приложения из Google Play Маркет — единственный безопасный способ обзавестись новыми программами. А те, что загружены из Интернета, заражают смартфон вирусами и крадут личные данные. Да, такой риск есть. Но нередко без установки из apk всё же не обойтись. Например, если нужное приложение недоступно из-за региональных ограничений или из-за несоответствия политике Google. Мы расскажем, какие программы нельзя найти в официальном магазине, как избежать риска заражения при установке и что делать, если с apk-файлом возникнут проблемы.

Какие приложения не найти в Play Маркет?

1. Программы, запрещённые Google. Несмотря на то, что Google Play — достаточно открытая площадка, она всё же имеет ряд ограничений, за несоблюдение которых программы удаляют из магазина. И речь сейчас совсем не о вредоносных утилитах. Немало программ отсутствует в Google Play из-за того, что они вмешиваются в работу других приложений или сетевой трафик. К этой категории относятся многие блокировщики рекламы и «читерские» продукты, позволяющие взламывать игры — например, добавляя игровые деньги. Наконец, в Google Play вы не найдёте программ, которые взламывают другие приложения, открывая платный контент. Впрочем, иногда из Google Play исчезают совершенно безобидные вещи, так или иначе обходящие ограничения Android для расширения собственной функциональности. Так случилось с приложением для записи экрана SCR Screen Recorder.

Пять причин ставить программы из apk

Иногда решение не публиковать продукт в Google Play принимает сам разработчик. Причиной тому может быть узкая специализация ПО, несогласие автора программы с политикой Google или одна из десятков других. Так, в официальном магазине вы не найдёте Mi Manga Nu, приложения для чтения манги с открытым исходным кодом.

Пять причин ставить программы из apk

2. Старые версии программ, которые лучше новых. Порой вместо новых функций обновление приложения забирает часть старых либо настолько радикально меняет дизайн, что хочется вернуть предыдущую привычную версию. Самым известным примером, совместившим оба этих неприятных события, стал клиент «ВКонтакте». Похожая история приключилась и с популярным файловым менеджером ES Проводник, внедрение рекламы в который последовало сразу за выпуском платной версии. В таких случаях многие предпочитают установить старую версию, взяв apk на одном из сторонних ресурсов, хранящих историю релизов.

Пять причин ставить программы из apk

3. Приложения, недоступные для вашей страны или смартфона. Есть две основные причины, из-за которых что-то в Google Play может быть недоступно именно для вас. Первая — программа была выпущена только для некоторых стран, обойдя стороной вашу. Так случилось с Pokemon Go: изначально игра распространялась только в США, Австралии и Новой Зеландии, но в итоге прогремела на весь мир, в том числе благодаря установкам apk-файлов вручную. Вторая — разработчик считает, что ваше устройство не соответствует необходимым техническим требованиям. Обе проблемы можно решить установкой apk, правда, в последнем случае вы действительно можете столкнуться с ограниченной функциональностью или неправильным отображением интерфейса.

Пять причин ставить программы из apk

4. Приложения, доработанные энтузиастами. Нередко сообщество предлагает модифицированные и доработанные версии известных программ. В них могут быть добавлены новые функции, интерфейс переведён на русский язык или изменено оформление. Порой разработчики даже не против модификаций, но всё равно установить эти программы можно только из apk-файлов. Скажем, на нашем форуме есть ряд модов, изменяющих к лучшему функциональность и внешний вид таких программ, как UC Browser, Viber или MX Player.

Пять причин ставить программы из apk

5. У вас нет Google Play. Немало китайских производителей, особенно небольших, экономят на сертификации Google и поставляют свои гаджеты без сервисов компании. Не бывает Google Play и на выпущенных для внутреннего рынка Поднебесной моделях — там он заблокирован. Или вы самостоятельно удалили сервисы Google, чтобы скрыться от всевидящего ока «корпорации добра». Конечно, в такой ситуации вы можете воспользоваться одним из альтернативных маркетов, но и его сначала придётся вручную установить из apk-файла.

Безопасная установка apk

Мы говорили много раз и не устанем повторять: загружая apk-файлы по случайной ссылке в поисковике, вы рискуете нарваться на вредоносное ПО, способное вполне успешно маскироваться именно под ту программу, которую вы ищете. Загружать приложения следует в первую очередь с официальных сайтов их разработчиков. Если это невозможно, то лучше отдавать предпочтение крупным сайтам и внимательно читать отзывы пользователей. Обязательно проверьте apk на сервисе VirusTotal, чтобы дополнительно убедиться в его безопасности.

Пять причин ставить программы из apk

Ну а на самом гаджете для установки программ из сторонних источников достаточно нажать на соответствующий переключатель в настройках безопасности и подтвердить своё действие во всплывающем окне.

Пять причин ставить программы из apk
Пять причин ставить программы из apk

Возможные проблемы при установке apk

Как ни странно, даже такое простое действие, как установка программы из apk-файла, может обернуться неочевидными для неопытного пользователя проблемами. Мы собрали наиболее распространённые из них и предлагаем для них решения.

1. Отсутствие файлового менеджера. С такой удивительной ситуацией можно столкнуться на некоторых китайских смартфонах, где отсутствует не только магазин приложений, но и предустановленный файловый менеджер. Есть два способа решить проблему, самый простой — открыть браузер и найти apk файлового менеджера в Интернете. Установка приложения из списка загрузок не должна вызвать никаких затруднений.

Если данный способ вам не подходит (маловероятно, но вдруг) — можно установить приложение, управляя Android-смартфоном с компьютера. Вам понадобится утилита adb, входящая в состав пакета Platform Tools, он доступен на официальном сайте Android.

Подготовка adb. Разархивируйте Platform Tools в любую папку на компьютере и перейдите в неё в Проводнике. Затем откройте командную строку Windows. Для этого кликните правой кнопкой мыши по пустому месту в окне Проводника с зажатой клавишей Shift и выберите пункт «Открыть окно команд». Для запуска консольной программы из командной строки Windows достаточно ввести её название (в нашем случае — adb). Если вы используете командную оболочку PowerShell, для запуска приложения потребуется указать к нему относительный путь, например, .\adb.

Подключение смартфона к ПК через adb. Для управления смартфоном с компьютера необходимо разрешить работу adb на самом гаджете. В настройках аппарата найдите пункт «Об устройстве», внутри которого семь раз коснитесь пункта «Номер сборки».

На главном экране настроек появится новый раздел «Для разработчиков», в котором нужно найти и активировать пункт «Отладка по USB».

Для проверки работы adb в консоли введите команду

Если всё сделано правильно, в появившемся списке вы увидите своё устройство.

Сразу после ввода команды на смартфоне появится всплывающее окно, где необходимо поставить галочку «Всегда разрешать отладку с этого компьютера», а затем нажать кнопку ОК.

Установка apk. Переместите apk-файл в ту папку, откуда вы запускали adb. Теперь для установки программ достаточно ввести в консоль команду

подставив в неё название нужного apk.

Установка приложений через adb может помочь и в других случаях, например, при необходимости загрузить apk на платформу Android Wear.

Пять причин ставить программы из apk

Решается проблема просто — достаточно удалить оригинальное приложение.

3. Установку блокирует другая программа. Достаточно редкая причина трудностей при установке apk, но и её стоит иметь в виду. Некоторые приложения, работающие поверх всех окон, могут непреднамеренно блокировать установку apk-файлов. Например, владельцы некоторых гаджетов жалуются на программу Twilight, реализующую функцию фильтра синего света.

Пять причин ставить программы из apk

Если однозначно идентифицировать причину блокировки установки не получается, то стоит попробовать открыть в настройках страницы недавно загруженных программ и нажать на каждой кнопку «Остановить».

Пять причин ставить программы из apk

Такая ситуация возникает при попытке загрузить на устройство с 32-битной архитектурой ARMv7 приложение, предназначенное для 64-разрядной архитектуры ARMv8. А вот наоборот сделать вполне можно — новая архитектура поддерживает обратную совместимость. Неудачей обернётся и попытка поставить ARM-приложение на девайс с процессором x86 или x86-64 и наоборот.

Заключение

Многие, включая саму операционную систему Android, пугают пользователей небезопасностью установки apk-файлов из сторонних источников. Но, как мы убедились, иногда без ручной загрузки программ попросту не обойтись. Она не всегда проходит гладко: если возникли какие-либо проблемы, стоит убедиться, что установка не блокируется другой программой, а конкретная сборка приложения совместима с вашим гаджетом. Ну а что касается безопасности, достаточно соблюдать несколько простых правил, описанных в данной статье. Если вы станете следовать нашим советам, то риск столкнуться с неприятностями будет стремиться к нулю.

Если у вас есть Android смартфон или планшет, то наверняка вы не раз слышали термин APK , и скорее всего задавались вопросом, что он значит.

В этой статье я хочу рассказать простыми словами, что это такое, зачем нужны APK-файлы и почему они могут быть опасны.

apk-файл на Android: что это такое, почему они могут быть опасны и зачем они вообще нужны apk-файл на Android: что это такое, почему они могут быть опасны и зачем они вообще нужны

APK – расшифровывается, как A ndroid P ac k age и по своей сути является форматом файла для распространения и установки приложений и игр на устройствах под управлением мобильной операционной системы Android.

Более знакомым аналогом APK-файлов являются EXE-файлы на компьютерах с Windows , с которыми вы уж точно имели дело. Если совсем просто, то, что первые, что вторые – это установочные файлы программ, игры и приложений.

Как и в случае с EXE-файлами на Windows, вы можете перебросить или загрузить APK-файл приложения на свой смартфон или планшет, а затем установить его.

Для чего используются APK-файлы?

В этот момент многие могут спросить: зачем мне какие-то файлы, когда я могу установить все, что мне нужно непосредственно с магазина приложений Google Play.

Вы правы, но только отчасти.

Дело в том, что многие разработчики по тем или иным причинам не публикуют свои приложения в магазине. Например, их приложение не соответствует правилам и критериям Google.

Во-вторых, размещая приложение в магазине, ранее разработчики обязаны были отдавать 30% от всех транзакций, сделанных в приложении. Сейчас этот процент сокращен вдвое.

Предположим, вы разработали какую-то интересную игрушку, в которой можно покупать что-то за реальные деньги. Каждый раз, когда кто-то будет совершать покупку в вашем приложении – Google будет забирать себе процент. А в некоторых случаях это уж слишком большие суммы, и делиться готов далеко не каждый разработчик. Поэтому, они размещают APK-файл приложения на своем сайте, откуда предлагают его скачать.

Чем могут быть опасны APK-файлы?

Существует множество различных ресурсов (сайты, группы и т.д.) где размещаются APK-файлы всевозможных приложений. Причем зачастую подобные ресурсы предлагают загрузить бесплатно платное приложение .

Скачивать APK-файлы со случайных ресурсов – не лучшая идея. Потому что подобные загрузки могут нанести вред смартфону, так как они могут содержать вирусы, программы-шпионы и прочее недоброжелательное программное обеспечение. Ведь на такие сайты файлы загружают не их разработчики, а третьи лица, которые могут модифицировать файлы вирусами.

ВАЖНО! Поэтому, я настоятельно рекомендую скачивать приложения только из магазина Google Play, либо с тех ресурсов, которым безоговорочно доверяете!

На этом, пожалуй, все.

Если статья была для вас полезной или вы узнали что-то новое – не забудьте поставить «Нравится». А еще можете подписаться на мой блог, где я делюсь полезными хитростями, инструкциями и советами по Android.

Несмотря на то что Google Play является единственным магазином приложений для Android, который продвигает сама Google, пользователи вольны сами выбирать, откуда скачивать софт. Это может быть как один из фирменных каталогов, которые предлагают производители, вроде AppGallery или Galaxy Apps. А может неофициальный вроде APKMirror или APKPure, которые предлагают к загрузке установочные файлы приложений абсолютно бесплатно. В том числе, если они недоступны для загрузки в Google Play в вашем регионе. Но безопасно ли скачивать APK? Попробуем разобраться.


Начнём с того, что APK – это просто установочный файл приложения. Соответственно, устанавливать его нужно самостоятельно, в отличие от софта из Google Play, который устанавливается автоматически и не оставляет после себя никаких следов.

Но если совершить одно дополнительное действие по установке приложения, в общем-то, несложно, то вот о том, что APK после установки нужно удалить, многие забывают. В результате их может накопиться так много, что они начнут занимать изрядный объём встроенного хранилища.

Безопасен ли APKPure


APKPure оказался небезопасен для пользователей

Что касается безопасности, то это вопрос спорный. Многие считают, что загрузка APK в интернете – дело довольно опасное. Мало ли кто и что туда может напихать. Ведь для опытного хакера не составит проблем добавить в установочный файл приложения вредоносные трекеры или скрипты.

В результате можно запросто стать жертвой заражения вирусом и лишиться либо своих данных, либо, что ещё хуже, финансовых сбережений. Но это если скачивать APK из ненадёжных источников. А ведь на известных площадках с безопасностью проблем обычно не бывает.

Правда, на этой неделе в клиенте APKPure (у этой APK-площадки есть своё приложение-каталог как у Google Play) обнаружился встроенный вирус. Как он туда попал, никто не знает. Но факт в том, что его туда загрузил либо кто-то из сотрудников сервиса, либо сам сервис подвергся взлому.

Причём приоритетным пока является второй вариант. В его пользу косвенно говорит тот факт, что совсем недавно аналогичному взлому подвергся немецкий производитель смартфонов Gigaset, на сервера которого хакеры загрузили вирус и начали его распространение под видом обновления.

Вирусы в APKPure

Вирус из мобильного клиента APKPure скрывается только в одной сборке – 3.17.18. Он устанавливает другие приложения на смартфоны своих жертв в автоматическом режиме. В основном это рекламное и фишинговое ПО.


В APKPure нашли троянского коня. Это неприятно

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

Сейчас единственный способ обезопасить себя от вредоносного ПО – не загружать мобильный клиент APKPure. Другое дело, что никто не гарантирует, что вредоносные скрипты не могут быть встроены в установочные файлы приложений, которые вы скачиваете на самом сайте.

Поэтому я бы – по крайней мере, на некоторое время – вообще отказался от использования APKPure, сделав ставку на APKMirror. Этот ресурс ещё ни разу не уличали ни в чём подобном, так что доверия к нему больше. Пожалуй, даже больше, чем к Google Play.

Итак, безопасно ли скачивать APK? На мой взгляд, да. Ведь даже Google Play не защищён от проникновения вредоносного ПО, что, как по мне, даже хуже. Ведь большинство пользователей уверены, что в Google Play есть только безопасный софт, который они скачивают, не особенно разбираясь в его происхождении. Со сторонними источниками вроде APKMirror пользователи ведут себя осторожнее.

Всем привет. Недавно мне valdikss рассказал об андроид-вирусе, который может немало навредить пользователю, если он недостаточно внимателен. Мне захотелось узнать его внутренности, т.к. более или менее в последнее время занимаюсь ресерчем андроид приложений, но вирусы никогда еще не исследовал. До его рассмотрения, мне сразу бросилось в глаза название файла — android_update-1.apk. Первым делом делаю то, что делает каждый андроид ресерчер — распаковывает его dex2jar-ом (ну и параллельно можно посмотреть WinRAR-ом список файлов).

dex2jar

Когда я распаковал файл dex2jar-ом у меня получился красивый jar. Я обрадовался и кинулся смотреть его в JD-GUI.

image

image

Но, к сожалению, JD-GUI не смог полностью декомпильнуть получившийся файл, зато в самом конце файла были интересные строки.

Тут 2 варианта: либо вирус «китайского происхождения», либо ошибка кодировки. Думаю, пока рано делать выводы.

WinRAR

Как известно, APK — формат архивных исполняемых файлов-приложений для Android. Список файлов, которые входят в APK-архив, можно с легкостью просмотреть WinRAR-ом, что я и сделал.

image

На первый взгляд ничего особенного, но я знаю, что в папке assets разработчики хранят локальные файлы — html страницы, картинки, ну, в общем, локальные ресурсы, которые можно дергать из приложения.

image

Там я нашел файл classes.dex. Classes.dex — контейнер который, если мы распакуем, получим (если повезет) исходный код приложения под Android. По стандарту, файл classes.dex должен начинаться следующими байтами:


Что в ASCII — dex.035.
Но файл assets\classes.dex начинался так:


Явно зашифровано. Уже начинает проявляться логика работы зловреда. Когда мы скачиваем на смартфон и запускаем apk, он устанавливается, дергает из своих ресурсов файл classes.dex, расшифровывает, (по логике) получает какой то новый аpk, который и выполняет свою основную функцию.

Чтобы полностью понять как все работает, надо посмотреть действие зловреда в динамике. На реальном устройстве запускать — самоубийство. В качестве эмулятора я взял Genymotion, его преимущества как эмулятора описывать не буду, все здесь написано. Также, вместе с Genymotion, я использую Android Studio (в дальнейшем AS) 1.2 (нет слов, чтобы описать его слаженную работу). Когда мы запускаем Android Studio и Genymotion, они связываются с помощью adb. В Android Studio удобно смотреть лог работы приложения, в данном случае зловреда.

Установка apk привела к странной ошибке:

image

Я подумал: «все, зловред упал, вряд ли он запустится». Нажал на OK. Я частично знал, как он должен работать, так что перешел в Settings -> Security -> Device administrators и увидел, что он как раз заработал так, как надо, прописал уже себя в администраторах, заметите, он меня не спросил: «Ты согласен установить это приложение? Оно будет использовать такие-то права.», ну, как все приложения.

Если мы попытаемся удалить его из администраторов (нажав на checkbox, он отмечен красным), то вылезет окно:


После нажатия на кнопку деактивации нас ждет сюрприз — приложение невозможно удалить.


Окейййй. Посмотрим сетевой трафик, вдруг он что-то куда-то шлет. В эмуляторе, на WiFi соединение, поставим прокси и перезагрузим эмулятор. Так я и думал — есть и сетевая активность


тело в POST-запросе пустое.

Откроем logcat в AS и посмотрим, вдруг это приложение что-то записывает в логах. Нам везет:


Вот что получается — зловред берет из ресурсов файл assets/classes.dex, расшифровывает, записывает в /data/data/com.adobe.jaguar/app_dex/new.apk.

Так. Чтобы теперь узнать, каков его основной фунционал, нам надо поймать файл new.apk. Устанавливаем total commander на андроид и переходим в /data/data/com.adobe.jaguar/app_dex/. Папка оказалось пустой, после запуска new.apk файл удаляется. Возник вопрос: как получить его? Сначала подумывал, не написать ли мне приложение под андроид, которое в цикле следит за папкой /data/data/com.adobe.jaguar/app_dex/ и когда зловред снова создаст этот файл, мое приложение скопирует его, и я наконец узнаю что, оно делает на самом деле. Хорошо, что я в некоторых вопросах ленивый. Немного подумав, решил поэкспериментировать над правами папки /data/data/com.adobe.jaguar/app_dex/, и тут тоже повезло — он создал файл new.apk и упал.

Копируем new.apk из андроид, распаковываем dex2jar-ом и декомпилируем с помощью JD-GUI.


Опять иероглифы… Я решил открыть получившийся файл luyten-ом, мало ли, вдруг JD-GUI не может что-то правильно декомпильнуть.


.
Да, я был прав, это не иероглифы, а зашифрованный текст, нашел функцию которая занимается расшифровкой, но из всего apk только этот класс был обфусцирован, luyten тоже упал на нем. Есть еще один декомпилер — DJ Java Decompiler, у него туго с графикой, поэтому я его использую только для просмотра отдельных классов, а не всего проекта. Он, как бы, смог декомпильнуть, но, к сожалению, я не смог понять, как именно идет расшифровка.

Класс который отвечает за расшифровку (буду рад если взгляните на код, с первого взгляда AES, но не факт):

Нам уже из сетевой активности известно, что по сети передаются POST-запросы, так что этот код отправит POST-запрос:

В некоторых участках кода я увидел функции, в именах которых есть слово из 4-х букв — «bank».

Теперь у нас есть полная картина, этот зловред — банковский троян, который маскируется под андроид апдейт для Adobe Flash Player. После установки создает сервисы com.adobe.jaguar:jaguar_bf и com.adobe.jaguar:jaguar_obs. Сканируют файловую систему (в теле new.apk нашел код) на предмет установленных программ банк-клиентов, если находит их, то читает файлы из папки shared_prefs и отправляет злоумышленнику.

Мораль:
1. Не устанавливайте root и банк-клиент на одном устройстве
2. Не доверяйте приложениям, скачанными из сторонних магазинов

Читайте также: