Как считать информацию с карты памяти телефона
Как перенести файлы с карты памяти или телефона на компьютер?
Вообще существует 3 основных способа, благодаря которым у многих решится вопрос о том, как перенести фото с телефона на компьютер или обратно:
Но последний способ делится еще на несколько вариантов:
- По технологии Bluetooch
- С помощью IrDa или инфракрасного порта
- Интернет в помощь
- по Wi-Fi через FTP без кабеля с помощью программы на телефон
А теперь по подробнее с каждым вариантом.
Как переместить файлы на компьютер с помощью кардридера?
А вот фотография внутреннего ридера
Купить ретвиты с гарантией на свою страницу в Твиттере Вам предлагает сайт ДокторСмм. Здесь Вы сможете получить заказ по сниженным ценам, а также выбрать наиболее приемлемое качество ресурса и скорость добавления его к Вам на страницу. Торопитесь, пока на сайте действуют выгодные оптовые предложения!
Итак у нас есть кардридер, при помощи которого нам необходимо перекинуть файлы с карты памяти на компьютер. Вставляем карту в устройство и если ридер внешний, то подключаем его к компьютеру. Для этого просто вставьте в свободный порт USB кабель от устройства для чтения, либо (зависит от формы) непосредственно сам ридер. И как только мы его подключим в Windows должно всплыть окно с автозапуском. Если у Вас установлена Windows 7, то будет вот такое окно:
Перемещение файлов и данных на компьютер с помощью USB кабеля
Беспроводной способ перемещения файлов на ПК
Единственное, при первом подключении к компьютеру адаптера Windows определит подключенное устройство и установит свой стандартный драйвер. Установочный диск не нужен. В большинства ноутбуков этот адаптер беспроводной связи блютуз уже присутствует и покупать его нет необходимости.
Передача файлов при помощи инфракрасного порта или IrDa
Как перенести файлы с телефона на компьютер по Wi-Fi
В приведенной статье описан способ получения информации с мобильного устройства при помощи самого сложного с технологической точки зрения метода — Chip-off. На конкретном примере рассмотрены достоинства и недостатки данного метода.
Введение
В предыдущей статье («Получение данных с мобильных устройств с помощью интерфейса отладки JTAG») мы остановились на методе извлечения данных из памяти мобильных устройств Chip-off.
Данный метод основан на выпаивании чипа памяти из мобильного устройства, после чего с помощью специального оборудования и программного обеспечения считываются данные. Полученные данные в последующем нужно обработать.
Chip-off является самым сложным методом извлечения данных из мобильных устройств. Но с его помощью возможно извлечь данные даже из таких устройств, откуда это сделать, кажется, невозможно.
Все eMMC могут работать и на шине 1-bit. Однако в таком случае извлечение данных занимает много времени. Поэтому для извлечения данных из eMMC-чипов необходимо оборудование, как и для извлечения данных с SD-карт.
Рисунок 1. Чип памяти
Плюсы данного метода заключаются в возможности восстановления данных при сильном повреждении мобильного устройства. Стоит отметить, что у данного метода есть и минусы:
- для извлечения чипа требуется полная разборка устройства: это долго, а также зачастую приводит к потере работоспособности устройства;
- требуется дорогостоящее оборудование и достаточно дорогое ПО;
- отечественная практика при проведении КТЭ показывает, что должностные лица, осуществляющие следствие в рамках уголовного дела или проверки, скептически относятся к методу Chip-Off и редко идут на разрешение эксперту подобных мер;.
Извлечение информации с мобильного устройства методом Donator
Метод заключается в том, что из поврежденного мобильного устройства извлекается чип памяти и устанавливается в точно такое же исправное мобильное устройство. При этом решается сразу несколько сложных задач, с которыми пришлось бы столкнуться, используя метод Chip-off.
Перепайка чипа — очень сложная и трудоемкая работа. Существует вероятность стирания данных из-за воздействия высоких температур на чип или его механическое повреждение. Также нельзя исключать, что производитель мобильного устройства использует аппаратную защиту, которая при замене чипа памяти в устройстве сотрет все данные.
Перед тем как проводить исследование поврежденного мобильного устройства, целесообразно использовать аналогичное устройство, для этого необходимо поменять их чипы памяти местами и посмотреть на реакцию устройств. При использовании данного метода необходимо оборудование для реболлинга (инфракрасная паяльная станция) — это процесс восстановления шариковых выводов электронных BGA-компонентов. BGA — это разновидность корпуса интегральных микросхем, поверхностно монтируемых на электронной плате. BGA-выводы представляют собой шарики из припоя, нанесенные на контактные площадки с обратной стороны микросхемы.
Рисунок 2. Чип с шариковыми выводами для BGA
При исследовании поврежденного мобильного устройства следует обращать внимание на конструкцию его системной платы.
Например, известен случай, когда перед специалистами стояла задача исследования памяти телефона Samsung i9300, в который попала вода. Мобильный телефон с признаками окисления. Однако после демонтажа телефона было установлено, что системная плата состоит из нескольких частей. Часть системной платы с микросхемой памяти пострадала от воздействия среды меньше всего.
Для извлечения данных из телефона нужно использовать такой же экспериментальный телефон: заменить в экспериментальном телефоне часть системной платы с чипом памяти на часть, извлеченную из поврежденного телефона, и считать данные.
Специалист, собирающийся извлечь данные из чипа памяти мобильного устройства, должен пройти четыре этапа:
- Извлечение чипа.
- Извлечение данных из чипа памяти.
- «Сборка» дампа (корректная стыковка страниц памяти и исключение из дампа служебных областей).
- Декодирование дампа.
Извлечение чипа
Извлечь чип относительно просто: в большинстве случаев достаточно нагреть чип потоком горячего воздуха из паяльной станции и отделить чип от системной платы. На этом этапе очень важно не перегреть чип (это приведет к стиранию данных) и не повредить его механически. Повышать температуру горячего воздуха необходимо постепенно. Максимально допустимый порог — 380° С.
Рисунок 3. Нагрев чипа памяти при помощи паяльной станции
Если чип залит смолой, то для ее отделения можно использовать два метода:
- Химический: удаление смолы нагретым до 50° С ацетоном или диметилфомамидом.
- Термический: потоком горячего воздуха системная плата разогревается до 200° С, механически счищается максимальное количество смолы.
После этого чип разогревается до 255-260° С и механически отделяется от платы.
Рисунок 4. Извлечение чипа памяти после предварительного нагрева
Извлечение данных из чипа памяти
Данный этап не сложен при условии, что в распоряжении есть программатор с адаптером под нужный тип форм-фактора BGA-чипа. Хороший программатор с большим количеством адаптеров под различные BGA-чипы стоит около 70 тыс. руб.
На Aliexpress можно найти комплекты адаптеров для вычитывания данных из BGA-микросхем. Основное достоинство данных комплектов — это низкая цена. Из недостатков — возможность изменения данных в чипе в момент подключения или в процессе извлечения данных, а также отсутствие технической поддержки. Пример адаптера можно посмотреть тут.
Рисунок 5. Пример дешевого адаптера на Aliexpress
«Сборка» дампа
«Сборка» дампа сводится к исключению из страниц памяти служебных областей и корректной стыковке страниц памяти. В решении задач этого этапа хорошо помогают продукты ACE Laboratory. Они имеют большие базы знаний по структуре хранения данных в различных типах микросхем памяти и о разных контроллерах, используемых для управления данными, сохраненными на чипах. Также с их помощью удобно производить «сборку» дампа в ручном и автоматическом режиме.
Для оценки дампа, полученного на данном этапе, зачастую используют следующий тест:
Любое мобильное устройство содержит графические файлы. Это могут быть файлы, созданные пользователем, или графические файлы программного обеспечения. Принято считать, что данный этап был выполнен неправильно, если из полученного дампа нельзя восстановить графические файлы (или фрагменты изображений) размером более 2 Кбайт.
Наиболее мощной утилитой для анализа дампов микросхем памяти является UFED Physical Analyzer. Данное программное обеспечение содержит большое число готовых решений для анализа дампов памяти мобильных устройств. Также можно самостоятельно формировать алгоритм исследования дампа, используя готовые модули этой программы.
Выводы
В статье описан способ использования метода Chip-off на примере мобильного устройства. Применение данного метода позволит специалисту получать информацию с мобильного устройства в случае если использование интерфейса отладки JTAG не дало нужный результат.
Однако стоит отметить, что данный способ является сложным и требует от специалиста определенных навыков.
Некоторые устройства на операционной системе Android имеют слот под карту памяти, чаще всего, формата microSD. Если у вас одно из таких устройств, это позволит:
- хранить большее количество информации за счет увеличения объема памяти;
- переносить некоторые приложения из внутреннего накопителя смартфона на SD-карту без потери их функционала.
Найти информацию о наличии слота под карту памяти sd можно на странице вашего устройства на сайте компании-производителя.
Некоторые из функций sd карты доступны только в устройствах с версией Android 6.0 и выше.
Установка SD-карты в слот android-устройства
Шаг 1. Как правильно установить карту памяти
- Определите расположение слота под сд карту в вашем устройстве.
- Выключите устройство.
- Извлеките слот или откройте заднюю панель устройства. Если это необходимо, приподнимите держатель карты памяти.
- Установите карту в нужное положение. Опустите держатель, если это необходимо.
- Верните слот и/или заднюю панель устройства в исходное положение.
Шаг 2. Как включить карту памяти sd
1. После включения телефона вы получите уведомление об установке карты памяти.
2. Кликните кнопку «Настроить».
3. Выберите один из вариантов настройки памяти:
- Съемный накопитель. При выборе этого пункта можно сохранять файлы (музыку, фото и т.п.), переносить их с sd-картой на любое устройство, имеющее слот под карту, без потери сохраненной информации. Перенос приложений в этом случае не предусмотрен.
- Внутренняя память. Выбирая этот пункт, вы получаете возможность сохранить приложения на дополнительном накопителе, но использовать их можно только на этом устройстве. После переноса сд карты в другое устройство она будет очищена.
4. Проведите дальнейшую настройку по подсказкам, возникающим на дисплее телефона.
5. Когда настройки памяти будут завершены, нажмите кнопку «Готово».
Использование SD-карты
Как перенести приложения на карту памяти
Если во время настройки вы выбрали пункт «Внутренняя память», то можете переместить некоторые приложения на дополнительный накопитель. Не для всех приложений доступен перенос из внутреннего хранилища на внешний накопитель.
Зайдите в настройки своего устройства.
Найдите пункт «Приложения».
Выберите, что именно хотите сохранить на карте памяти.
Выберите пункт «Хранилище».
Зайдите в раздел «Использовано» и кликните кнопку «Изменить».
Выберите пункт "SD-карта".
Проведите дальнейшую настройку по подсказкам, возникающим на дисплее вашего смартфона.
Как перенести файлы с телефона на карту памяти Андроид
Если во время настройки вы выбрали пункт «Съемный накопитель», это дает возможность переместить сохраненные на вашем телефоне файлы (музыку или фото и т.п.) на sd-карту, таким образом, освободив внутреннее хранилище смартфона.
Шаг 1. Копирование сохраненных в телефоне файлов на внешний накопитель
Шаг 2. Удаление файлов, сохраненных во внутреннем накопителе смартфона.
- Зайдите в настройки своего устройства.
- Выберите «Память».
- Выберите пункт «Внутренняя память».
- Выберите, какой тип файлов вы хотите удалить.
- Долгим нажатием выберите те файлы, которые нужно удалить.
- Выберите значок корзины.
Просмотр файлов или приложений, сохраненных на карте памяти
На телефоне можно просматривать список всех файлов, приложений. Кроме того, Андроид позволяет узнать, сколько свободного места осталось на sd-карте.
Если при настройке накопителя был выбран пункт «Внутренняя память»
- Зайдите в настройки своего устройства.
- Выберите «Память».
- В списке выберите карту памяти.
- Теперь можно увидеть количество использованного места, а также, сколько памяти накопителя еще свободно. Выбирая различные категории, вы можете просматривать, какие именно файлы скачаны на sd карту.
Если при настройке накопителя был выбран пункт «Съемный накопитель»
Форматирование съемного накопителя
- Зайдите в настройки своего устройства.
- Выберите пункт «Память».
- В списке меню нажмите пункт sd-карта.
- Нажмите на три точки (⋮), выберите пункты Настройки → Формат.
- Выберите пункт «Очистить и отформатировать» - это удалит все сохраненные приложения/файлы, хранившиеся в памяти внешнего накопителя.
Отключение и извлечение карты памяти
Чтобы не повредить данные, сохраненные на съемном накопителе, перед извлечением его необходимо безопасно отключить!
Шаг 1. Отключение карты памяти
- Зайдите в настройки своего устройства.
- Выберите пункт «Память».
- Выберите пункт «Извлечь».
Приложения, сохраненные на карте памяти, после ее отключения не будут работать, пока карта не будет вставлена и подключена заново.
The Android Platform Security Model — написанный сотрудниками Google вайтпейпер, посвященный теории и практике реализации подсистем безопасности в Android. В документе много воды, но есть и хоть и не новая, но полезная новичкам информация. Наиболее интересные моменты:
Как работают атаки класса Cloak & Dagger
Cloak and Dagger — Mobile Malware Techniques Demystified — небольшая заметка о том, как работают атаки класса Cloak & Dagger. Мы писали об этом типе атак еще в 2017 году, но тогда рассмотрели только одну из них: кейлоггер, не требующий дополнительных прав в системе. Эта статья посвящена другой атаке, позволяющей заставить пользователя включить настройку доступа к AccessibilityService (позволяет перехватывать любые нажатия пользователя и нажимать кнопки интерфейса за него), замаскировав переключатель под нечто безобидное.
Атака использует разрешение SYSTEM_ALERT_WINDOW, которое приложения из Google Play получают автоматически. SYSTEM_ALERT_WINDOW позволяет выводить элементы интерфейса поверх других приложений, то есть реализовать такие вещи, как плавающие окна, меню, панели управления. Создатели вирусов быстро смекнули, что эту возможность можно использовать для перекрытия текущего окна на экране и обмана пользователя, поэтому с версией Android 5 Google выкатила защиту, которая проверяет, не был ли перекрыт какой-либо опасный для включения элемент интерфейса оверлеем, и отказывается его включить, если это так. Поэтому Cloak & Dagger вместо одного оверлея на весь экран создает несколько небольших и выкладывает их вокруг элемента управления, так что в результате защита не срабатывает.
Обход защиты на включение AccessibilityService с помощью трех-четырех оверлеев
Атака работает на Android версий 4.4.4–7.1.2, исходный код доступен.
Как получить доступ к зашифрованной карте памяти
Recovering data from a failing Android adoptable storage — статья о том, как восстановить данные с карты памяти, отформатированной с помощью механизма Adoptable Storage. В отличие от обычного подключения SD-карты, Adoptable Storage создает на карте памяти зашифрованный том, форматирует его в файловую систему ext4, а затем подключает ее к основному хранилищу данных так, что на нее можно сохранять не только фотки с пляжа, но и приложения, их данные и любую другую информацию, которая обычно хранится только во внутренней памяти устройства. Другими словами, Adoptable Storage позволяет расширить встроенную память устройства.
Но есть одна, а точнее две смежные проблемы: 1) если вставить карту памяти в другой телефон — он ее не увидит из-за отсутствия ключа для расшифровки данных; 2) если что-то пойдет не так (например, карта памяти начнет сбоить), восстановить данные с нее не получится, точнее получится, но через одно место. Как через это место восстанавливать данные, описано в статье.
Для начала на телефоне необходимо получить права root. Затем подключить карту памяти к Linux-машине (macOS тоже должна подойти, но действия описаны именно для Linux) и снять ее образ. Обычный dd в этом случае не подойдет, так как, если карта памяти начала сбоить, он, скорее всего, вывалится с ошибкой Input/output error. Выручит ddrescue, который предназначен как раз для таких случаев:
Далее необходимо извлечь из памяти устройства ключ шифрования (на устройствах с активным модулем TEE такой трюк, скорее всего, не пройдет):
Используем полученный ключ, чтобы смонтировать файловую систему:
Это все. Далее автор рассказывает, как залить файлы на другую карту памяти и изменить размер файловой системы. Про это можно прочитать в оригинальной статье. Также стоит отметить, что если карты памяти одинакового объема, то можно вообще не заморачиваться с подключением файловой системы на компе и копированием ключа, а просто залить полученный на первом шаге образ на новую карту памяти с помощью того же ddrescue:
Как обойти ограничения на доступ к внутренним библиотекам и методам
Android Runtime Restrictions Bypass — статья о том, как обойти ограничения на доступ к внутренним библиотекам и методам Android.
Начиная с Android 7 Google ввела ограничения на прямую загрузку нативных системных библиотек (например, /system/lib/libart.so ). Позже, уже в релизе Android 9, появилось ограничение на доступ к определенным скрытым методам, которые раньше можно было вызывать с помощью рефлексии. Как оказалось, эти механизмы достаточно просто обойти.
Принцип работы механизма, ограничивающего загрузку библиотек, построен на пространствах имен. Если JNI-библиотека приложения попытается загрузить библиотеку, которая расположена за пределами каталогов /data , /mnt/expand или в песочнице самого приложения, оно будет завершено с такой ошибкой:
Проверка осуществляется в лоадере библиотек ( /system/bin/linker ). Он создает для каждой JNI-библиотеки приложения структуру soinfo, хранящую информацию о ней и пространствах имен, к которым она может получить доступ:
Все структуры soinfo размещены в мэпе g_soinfo_handles_map.
Интересно здесь то, что g_soinfo_handles_map — это экспортированная статическая переменная. Поэтому с помощью символьной таблицы ELF можно найти базовый адрес /system/bin/linker , рассчитать адрес g_soinfo_handles_map JNI-библиотеки и изменить структуру soinfo, добавив нужные пути в доступное ей пространство имен:
После этого попытка загрузить библиотеку будет успешной:
Ограничение доступа к внутренним методам Java API, предназначенным только для использования системными компонентами, реализовано иначе, а именно с помощью прямых проверок на доступ. Например, функция GetStaticMethodID, используемая для доступа к Java-методам из JNI-библиотеки, вызывает функцию FindMethodID, которая в том числе проверяет, доступен ли данный метод:
ShouldBlockAccessToMember() в конечном итоге вызывает метод Runtime::GetHiddenApiEnforcement(), который сообщает, стоит ли отклонить вызов или нет. При этом система может либо пропустить его без вопросов, либо вывести предупреждение, либо использовать черный и серый списки, которые содержат имена запрещенных к использованию методов.
Чтобы отключить проверку, мы должны перевести рантайм в режим «пропускать без вопросов» (EnforcementPolicy::kNoChecks), но для этого нам нужен доступ к самому рантайму:
Однако в этом случае компилятор (а точнее, линковщик) будет вынужден импортировать символ art::Runtime::instance_ в JNI-библиотеку, то есть слинковать ее с libart.so. И здесь мы столкнемся с ограничением пространства имен, а предложенный ранее метод его обхода не сработает, так как мы не сможем изменить пространство имен раньше, чем в память загрузится libart.so.
Но есть другой способ получить доступ к рантайму. Дело в том, что метод JNI_OnLoad, который запускается при загрузке JNI-библиотеки, в качестве первого аргумента получает указатель на art::JavaVMExt, который имеет метод GetRuntime(). Так что все, что нам остается, — это получить доступ к рантайму и отключить проверку:
Примечательно, что команда Android security team не считает описанные методы обхода нарушением безопасности (мол, не для безопасности они были придуманы), поэтому быстро дала согласие на обнародование информации и публикацию исходного кода PoC.
Описание уязвимостей в Android Download Provider
Данные уязвимости были исправлены в сентябрьском и ноябрьском security-патчах.
Инструменты
-
— изолированное окружение для запуска Android-приложений в дистрибутивах Linux; — онлайн ARM-дизассемблер, поддерживающий большинство 32-битных инструкций ARM и 16-битных инструкций Thumb; — скрипт для автоматического скачивания, установки и запуска последней версии Frida на рутованном устройстве; — скрипт Frida для сниффинга данных, проходящих через IPC Binder (подробная статья о скрипте); — реализация клиента ADB на Python; — скрипт для автоматического создания новой активности и всех необходимых для нее файлов; — очередная база уязвимостей.
Библиотеки
-
— анимированный слайдер, показывающий текущее значение; — библиотека для интерактивного переключения между фрагментами; — логгер со встроенным веб-сервером и возможностью создать несколько независимых каналов логов; — Retrofit-подобный клиент WebSockets, разработанный командой Tinder; — экран, показывающий используемые приложением библиотеки; — бэкпорт пакета java.time из Java 8 для Android; — диалог, наглядно показывающий, какие разрешения и для чего нужны приложению; — баннер в верхней части экрана приложения в стиле Material Design; — библиотека для измерения времени исполнения методов, блоков кода и цепочек RxJava; — простая библиотека для вычисления математических выражений.
Евгений Зобнин
Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.
Читайте также: