- Сбой разбора пакета Android что делать?
- Причины и способы решения проблемы
- Устаревшее ПО
- Инсталляция ПО из ненадёжных источников
- Запуск отладки по USB
- Нарушена целостность APK-файла
- работа антивирусного ПО или программ для очистки системы
- Очистка файлов кэша и cookie магазина Play Market
- Удаление повреждённых данных установщика пакетов
- Заключение
- Не удалось обработать пакет Андроид – что делать
- Причины
- Снятие запрета установки из сторонних ресурсов
- Если на гаджете старая версия ОС
- Взломанные игры
- Ошибка при установке официального инсталлятора
- 4 метода обхода верификации SSL-сертификатов в Android
Сбой разбора пакета Android что делать?
При загрузке ПО или игр на Андроид владелец гаджета может встретиться с сообщением «ошибка разбора пакета». Обычно это происходит при установке ПО APK файлом, но случается и при загрузке контента из Google Play. О причинах сбоев и способах их решения рассказывает Appsetter.ru
Причины и способы решения проблемы
Причинами сбоя при разборе пакета бывают:
- повреждённый APK-файл;
- запрещена загрузка и инсталляция приложений из ненадёжных источников;
- устаревшая версия ОС;
- работа антивирусного ПО и т.д.
Чтобы понять, что значит сбой разбора пакета и почему он произошёл, нужно поочерёдно проверить каждую возможную причину.
Устаревшее ПО
При установке нового ПО на старую ОС нередко возникают проблемы совместимости. Следует обновить Андроид, открыв в настройках гаджета раздел «Обновление системы», Если при проверке будут обнаружены свежие обновления, их необходимо установить.
Если система обновлена, но ПО по-прежнему не устанавливается, следует поискать его старую версию, совместимую с ОС. Найти её можно на веб-ресурсе разработчиков или на специализированных порталах в Сети.
Инсталляция ПО из ненадёжных источников
Установка ПО на Андроид рекомендована из Play Market. Для загрузки игр и софта APK-файлом нужно получить права на инсталляцию из незнакомых источников. Во вкладке «Безопасность» открывают интересующую функцию и активируют её.
Запуск отладки по USB
Эта опция часто не используется, несмотря на то, что после включения она открывает ряд дополнительных настроек и опций, включая исправление сбоя разбора пакета.
Для её активации включают режим разработчика. Во вкладке «Об устройстве» нажимают на «Номер сборки» неоднократно до появления уведомления о том, что режим запущен.
Теперь в настройках следует выбрать «Спец. возможности», далее «Для разработчиков», а затем активировать отладку по USB.
Нарушена целостность APK-файла
АПК-файл, из которого устанавливается игра или приложение, мог быть повреждён при загрузке или неработоспособным с самого начала. Нужно снова скачать его, а также проверить на ещё одном устройстве. Если контент есть на Google Play, рекомендуется установить его оттуда, чтобы избежать подобных проблем.
работа антивирусного ПО или программ для очистки системы
Несмотря на пользу от работы антивирусных программ или утилит для чистки ОС, они же могут мешать установке другого софта. Чтобы устранить проблему, их отключают до завершения инсталляции. В настройках необходимо выбрать «Приложения», затем поочерёдно открыть программы, которые требуется отключить и в их свойствах нажать «Остановить». Альтернативным решением станет удаление этого софта и установка заново после загрузки необходимых программ.
Очистка файлов кэша и cookie магазина Play Market
Очистка кэша Android-магазина Play Market также позволяет исправить проблему. Открывают «Приложения», находят необходимое приложение, нажимают на него и последовательно выполняют очистку кэша и удаление данных.
Удаление повреждённых данных установщика пакетов
Установщик пакетов — это служба Андроид, выполняющая инсталляцию приложений с помощью файлов АПК. Внутри нее хранится небольшое количество информации, но если она повреждена, это станет причиной сбоя разбора пакета.
Нужно в настройках открыть «Приложения», нажать вверху на три вертикальные точки и выбрать «Системное ПО». Далее следует найти «Установщик пакетов», завершить его работу, а затем очистить мусорные файлы.
При неудаче стоит обратиться к специалистам для решения затруднения. Предварительно рекомендуется перенести все личные данные на карту памяти, в облако или на ПК, т.к. при восстановительных работах они будут удалены.
Заключение
Если при инсталляции ПО возникает ошибка «Сбой разбора пакета», что делать в этой ситуации знают немногие пользователи. Решением станет проверка совместимости приложения и ОС и их обновление, включение разрешения на инсталляцию из внешних источников, остановка антивирусного ПО и служб для очистки системы, а также ряд других действий. Если они не дадут результата, стоит попробовать выполнить сброс гаджета до начальных параметров, а если и это не решает проблему, его отдают в ремонт.
Источник
Не удалось обработать пакет Андроид – что делать
На мобильных устройствах под управлением ОС Андроид иногда возникает ошибка при попытке установки приложения «Сбой разбора пакета при установке…». Разберемся, что делать в данном случае.
Причины
Ошибка указывает на невозможность распаковки установочного пакета. Возникает по ряду причин. В первую очередь – это несоответствие инсталляционного пакета требованиям. На втором месте находится запрет владельца установки приложений со сторонних ресурсов. Третья причина – плохое качество программы, в частности, повреждение установочного файла в процессе скачивания из-за обрыва интернет-соединения или иных факторов. Нельзя исключать в данном случае преднамеренное повреждение инсталлятора.
Окно с ошибкой на андроиде «Сбой разбора пакета при установке…»
Реже проблема возникает в результате несовместимости с установленной на мобильном устройстве версией операционной системы. На старых телефонах проблема также может быть вызвана слабой мощностью процессора и малым объемом ОЗУ.
Снятие запрета установки из сторонних ресурсов
Появление ошибки при выставленном в настройках запрете не стоит рассматривать в качестве сбоя в работе Андроида. Для решения проблемы необходимо:
- Перейти в «Настройки».
- Выбрать пункт «Безопасность».
- Активировать пункт «Неизвестные источники».
При желании после установки требуемого ПО галочку можно снять, выполнив аналогичные действия.
Если на гаджете старая версия ОС
Ошибка может появляться не только при устаревшей версии прошивки, но и при дефектах, возникших в процессе ее установки. В последнем случае решается сбросом к заводским настройкам.
Решить несоответствие версий можно обновлением до последней версии. Допускается использовать не только официальную, но и кастомную прошивку. В ряде случае разработчики выкладывают несколько версий программы для разных версий ОС. Поэтому стоит тщательно выбирать инсталляционный файл. Однако не стоит исключать ситуации, когда программа просто не подходит для данного гаджета.
Дополнительно крайне рекомендуем ознакомиться как сделать полную проверку телефона Android на ошибки и исправить их..
Взломанные игры
При попытке установить взломанную игру случаи с возникновением ошибки не редкость. Выложившие в сеть инсталляторы пользователи не несут ответственности за их работоспособность. Ошибка появляется из-за некачественности самого приложения, некорректно собранного инсталляционного файла и иных непрофессиональных действий пользователей. Лучше качать официальные версии и на них пробовать вводить чит-коды.
Ошибка при установке официального инсталлятора
Если версии совпадают, запрета на установку из сторонних ресурсов нет, а файл установки скачан с Google Play, решить проблему может следующее:
- Зайти из «Настроек» в «Приложения».
- Найти «Google Play».
- Остановить приложение.
- Удалить кэш.
- Удалить обновления.
- Запустить снова.
Анастасия Табалина
Автор статей по настройке и управлению телефонами на базе Андроид и iOS. Помощь в мире онлайна и Интернета: поиск информации, обзоры приложений, программ, настройка и управление
Источник
4 метода обхода верификации SSL-сертификатов в Android
Прошли те времена, когда мобильные приложения мужественно игнорировали все ошибки, связанные с SSL, и позволяли перехватывать и модифицировать трафик.
Автор: Cody Wass
Прошли те времена, когда мобильные приложения мужественно игнорировали все ошибки, связанные с SSL, и позволяли перехватывать и модифицировать трафик. Современные приложения, как минимум, проверяют цепочки сертификатов на валидность и принадлежность к достоверному центру сертификации. Мы, пентестеры, ставим перед собой задачу «убедить» приложение, что сертификат надежный с целью выполнения атаки типа «человек посередине» и последующего изменения трафика. В этой статье будут рассмотрены следующие техники обхода проверок SSL-сертификатов в Android:
- Добавление сертификатов в хранилище достоверных сертификатов.
- Перезапись упакованных сертификатов.
- Использование скрипта Frida для обхода проверок SSL-сертификатов.
- Изменение кода проверки сертификата.
Некоторые из вышеуказанных техник — простые, другие – более сложные в реализации. Мы рассмотрим каждый из этих методов без особого углубления в специфические детали.
Зачем нужна MITM-атака на SSL
Чтобы просматривать и изменять вызовы веб-службы, используемой мобильным приложением, нам понадобится промежуточный прокси сервер для перехвата, созданный при помощи утилит навроде BurpSuite или ZAP. При перехвате SSL-трафика SSL-соединение прерывается на стороне прокси-сервера. Сертификат, отсылаемый прокси-сервером, анализируется мобильным приложением, как если бы прокси был оконечной точкой веб-службы. По умолчанию самоподписанный сертификат, генерируемые утилитами наподобие Burp, не будет принадлежать проверенной достоверной цепочке. Если сертификат нельзя проверить на достоверность, большинство мобильных будут обрывать соединение вместо того, чтобы подключаться и работать в потенциально незащищенном канале. Техники, представленные ниже, предназначены для одной цели – убедить мобильное приложение, что сертификат, отправляемый прокси-сервером, является достоверным.
Техника 1 – Добавление сертификата в хранилище пользовательских сертификатов
Самый простой способ избежать SSL-ошибок – обзавестись валидным и надежным сертификатом. Эта задача решается относительно просто, если вы сможете установить достоверный сертификат на устройство. Если операционная система доверяет вашему центру сертификации, то будет доверять и сертификату, подписанному центром сертификации.
В Android есть два встроенных хранилища сертификатов, которые отслеживают, каким центрам сертификации доверяет операционная система: системное хранилище (хранит предустановленные сертификаты) и пользовательское хранилище (хранит сертификаты, добавленные пользователями).
Выдержка с сайта developer.android.com:
По умолчанию безопасные соединения (использующие протоколы TLS, HTTPS и им подобные) во всех приложениях доверяют предустановленным системным сертификатам. В Android 6.0 (API level 23) и более ранних версиях по умолчанию также считаются достоверными сертификаты, добавленные пользователями. Приложение может настраивать свои собственные соединения на уровне приложения (base-config) и на уровне домена (domain-config).
Сей факт означает, что, если мы имеем дело с приложением, которое работает в Android 6.0 и более ранних версиях, то можно просто добавить сертификат в пользовательское хранилище. Когда приложение пытается проверить достоверность цепочки для нашего сертификата, то обнаружит, что наш центр сертификации связан с достоверным хранилищем и, следовательно, будет доверять нашему сертификату. В более новых версиях приложение не будет доверять хранилищу пользовательских сертификатов. Чтобы решить эту проблему, нужно прописать такой уровень API и версию Android, чтобы приложение стало доверять пользовательским центрам сертификации. Мы будем редактировать атрибут «platformBuildVersionCode» элемента «manifest» в файле AndroidManifest.xml.
В коде выше в строке «platformBuildVersionCode=25» нужно поменять значение 25 на 23, а в строке platformBuildVersionName=»7.1.1″ значение 7.1.1 на 6.0.
После переупаковки приложения с обновленным файлом AndroidManifest.xml, доверие пользовательским центрам сертификации будет восстановлено.
Если требуется запуск на конкретной версии платформы, мы можем определить тэг trust-anchors в файле «/res/xml/network_security_config.xml». Например, следующий файл (https://developer.android.com/training/articles/security-config.html) определяет новый достоверный сертификат, который должен храниться по адресу /res/raw/my_ca.
Если в приложении будет проходить проверку только указанный сертификат, условия для успешного выполнения этой техники выполняются.
Техника 2 – Перезапись упакованного сертификата
Если после установки сертификата в пользовательское хранилище, изменении в настройках версии Android и успешном прохождении проверок при просмотре других ресурсов, защищенных протоколом SSL, все равно возникают ошибки, значит, разработчики внедрили дополнительные условия, которым должны удовлетворять достоверные центры сертификации. Если не забыли, в предыдущей технике внутри тэга trust-anchors добавлялся новый путь к сертификату. Подобный трюк может использоваться разработчиками для защиты приложений от перехвата SSL.
Если в приложении используется индивидуальная цепочка сертификатов, может сработать метод, связанный с перезаписью сертификата. Поскольку в некоторых случаях разработчики могут предусмотреть дополнительные методы для проверки достоверной цепочки, эта техника не гарантирует стопроцентного результата.
Рисунок 1: Перечень сертификатов, используемых приложением
Если открыть пакет приложения при помощи, например, APK Studio, то можно сразу увидеть перечень привязанных сертификатов. На картинке выше сертификаты находятся в папке «assets». Замена явно бросающегося в глаза сертификата UniversalRootCA позволит нам подсунуть приложению наш сертификат.
Техника 3 – Подключение к функциям через фреймворк Frida
Если установки собственного сертификата недостаточно для успешного перехвата SSL-трафика, скорее всего, в приложении используются техники навроде SSL pinning или дополнительная SSL-валидация. В этом случае нужно блокировать проверки через непосредственное подключение к соответствующим функциям. Ранее эта техника была доступна для реализации только на устройствах с правами суперпользователя. Однако на данный момент при помощи библиотеки Frida Gadget можно работать с приложением и получить доступ к полному функционалу фреймворка Frida без прав суперпользователя.
Если вы уже выполняли пентесты мобильных приложений, то, вероятно, знакомы с этим фреймворком. Описание всей функциональности Frida выходит за рамки этой статьи, но если говорить в общем, то этот фреймворк позволяет изменять логику работы приложения во время выполнения. Обычно Frida работает как отдельное приложение и требует прав суперпользователя на устройстве. Если у нас нет прав суперпользователя, мы можем инжектировать в пакет приложения динамическую библиотеку Frida Gadget, содержащую большую часть функционала фреймворка Frida. Эта библиотека загружается во время выполнения приложения и позволяет вносить изменения в код.
Чтобы загрузить Frida Gadget, нужно распаковать APK, вставить динамическую библиотеку, отредактировать smali-код так, чтобы динамическая библиотека вызывалась самой первой, а затем переупаковать и установить пакет. Весь этот процесс хорошо задокументирован Джоном Козиракисом (John Kozyrakis). Вначале лучше пройти все этапы вручную, чтобы лучше понять, как работает эта технология. Чтобы сэкономить время, существует утилита — Objection, которая автоматизирует весь вышеупомянутый процесс. Требуется лишь указание целевого пакета, над которым нужно выполнить манипуляции.
После завершения в нашей рабочей директории должен появиться файл «test_app.objection.apk». По умолчанию утилита objection добавляет постфикс «.objection» к имени пакета. Далее мы можем установить этот пакет так же, как и любой другой APK, при помощи команды adb install test_app.objection.apk. После того как измененный пакет установлен на целевом устройстве, во время запуска приложение должно встать на паузу на начальном экране. В этот момент мы можем подключиться к серверу Frida, который отслеживает наше устройство:
C:\>frida-ps -U
PID Name
—- ——
6383 Gadget
C:\>frida -U gadget
____
/ _ | Frida 10.3.14 — A world-class dynamic instrumentation framework
| (_| |
> _ | Commands:
/_/ |_| help -> Displays the help system
. . . . object? -> Display information about ‘object’
. . . . exit/quit -> Exit
. . . .
. . . . More info at http://www.frida.re/docs/home/
[Motorola Moto G (5) Plus::gadget]-> Java.available
true
Alternatively, Objection supports interaction with the listening Frida server by using the ‘explore’ command:
C:\>objection explore
___| |_ |_|___ ___| |_|_|___ ___
| . | . | | | -_| _| _| | . | |
|___|___|_| |___|___|_| |_|___|_|_|
|___|(object)inject(ion) v1.2.2
Runtime Mobile Exploration
by: @leonjza from @sensepost
[tab] for command suggestions
com.test.app on (motorola: 7.0) [usb] # android hooking search classes TrustManager
android.security.net.config.RootTrustManager
android.app.trust.ITrustManager$Stub$Proxy
android.app.trust.ITrustManager
android.security.net.config.NetworkSecurityTrustManager
android.security.net.config.RootTrustManagerFactorySpi
android.app.trust.TrustManager
android.app.trust.ITrustManager$Stub
com.android.org.conscrypt.TrustManagerImpl
com.android.org.conscrypt.TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker
com.android.org.conscrypt.TrustManagerImpl$TrustAnchorComparator
com.android.org.conscrypt.TrustManagerFactoryImpl
javax.net.ssl.TrustManagerFactory$1
javax.net.ssl.TrustManager
javax.net.ssl.TrustManagerFactory
javax.net.ssl.X509TrustManager
javax.net.ssl.TrustManagerFactorySpi
javax.net.ssl.X509ExtendedTrustManager
[Ljavax.net.ssl.TrustManager;
Теперь вы можете воспользоваться функцией для обхода технологии SSL pinning:
com.test.app on (motorola: 7.0) [usb] # android sslpinning disable
Job: 2f633f86-f252-4a57-958e-6b46ac8d69d1 — Starting
[6b46ac8d69d1] [android-ssl-pinning-bypass] Custom, Empty TrustManager ready
Job: 2f633f86-f252-4a57-958e-6b46ac8d69d1 – Started
Техника 4 – Реверс-инжиниринг кода верификации сертификата
Возможен такой случай, когда разработчик использует собственные SSL-библиотеки вместо системных для верификации сертификата. В этой ситуации нам нужно распаковать пакет, сконвертировать smali-код в Java-код и найти функции, отвечающие за проверку сертификата.
Если использовать «dex2jar», синтаксис будет следующим:
C:\>d2j-dex2jar.bat «C:\test_app.apk»
dex2jar C:\test_app.apk -> .\test_app-dex2jar.jar
Полученный файл .jar должен быть пригоден для открытия в вашей любимой утилите для исследования Java-приложений (например, JD-GUI).
После того как вы нашли функции, отвечающие за проверку сертификата, можно либо полностью пропатчить код, либо подцепиться к нужной функции при помощи Frida. Чтобы сэкономить время и не пересобирать полностью приложение, эффективнее подцепиться к функциям, отвечающим за проверку сертификата. Шаги, описанные в предыдущей технике, позволят подключиться к приложению, и далее вы можете либо подцепиться к функции при помощи утилит фреймворка Frida, либо при помощи приложения Objection.
Заключение
Техники, описанные в этой статье, позволяют перехватывать SSL-трафик и обходить некоторые наиболее распространенные защиты, используемые разработчиками. Кроме того, я кратко рассказал об утилите Objection и фреймворке Frida. Обход технологии SSL pinning и других защит лишь небольшая часть возможностей, которые позволяют реализовать эти инструменты.
Надеюсь, мне удалось на доступном языке рассказать о техниках, которые могут быть пригодны для оценки безопасности мобильных Android-приложений и демонстрируют важность наличия нескольких способов проведения подобного рода исследований.
Источник