Перейти к основному содержимому
Reincubate

Как получить доступ к файлам iPhone с помощью подключения в виде диска

Aidan Fitzpatrick

Опубликовано 22 февраля 2019 г.· Обновлено 4 января 2021 г.

Подключить первый iPod и работать с ним как с USB-накопителем было просто. С iPhone это тоже возможно, хотя подходы различаются в зависимости от того, с какими данными вы хотите работать.

В этой статье мы рассмотрим следующие подходы:

СпособДоступные файлыТребования
PTPФотографии и видеоВстроено в Windows и macOS
AFCФотографии, видео и некоторые приложенияiTunes
FUSE (без джейлбрейка)Фотографии, видео и некоторые приложенияБесплатный клиент FUSE
FUSE (с джейлбрейком)Все файлыДжейлбрейк, бесплатный клиент FUSE
WebDAV через FilzaВсе файлыДжейлбрейк, бесплатный клиент WebDAV
AFC2Все файлыДжейлбрейк, плагин AFC2, клиент AFC2
Другие способыНетНе работает в современных версиях iOS

PTP: доступ к фотографиям, видео и данным камеры через подключение в виде диска

При подключении по USB iOS автоматически представляет современные устройства как камеры. Для этого используется протокол передачи изображений (PTP) — довольно ограниченная система, позволяющая копировать фотографии туда и обратно. Вы, вероятно, узнаете папки DCIM, в которых обычно появляются фотографии.

У PTP есть ряд недостатков. Самый очевидный: доступ есть только к файлам камеры. Кроме того, PTP не поддерживает такие функции, как переименование или изменение файлов и папок: чтобы внести изменение, их приходится удалять и создавать заново. Это медленно.

Доступ к фотографиям и данным приложений по AFC с помощью iTunes

В базе знаний Apple есть статья, в которой описано, как управлять базовым обменом файлами с помощью iTunes.

Доступ к данным приложений по USB с помощью FUSE

FUSE — это система, которая позволяет подключать диски на компьютерах с Windows или Mac без внесения изменений в систему на уровне администратора. FUSE расшифровывается как «filesystem in userspace» (файловая система в пользовательском пространстве) и существует в разных вариантах на большинстве платформ. Сам по себе FUSE — это уровень абстракции: он не взаимодействует напрямую с устройством или источником данных, для этого обычно используется другой подход. При подключении iPhone в виде диска FUSE взаимодействует с iPhone по другому протоколу: SSH, AFC/AFC2, PTP или WebDAV. В Windows часто используется популярная файловая система пользовательского режима Dokan, а в macOS популярен osxfuse.

С точки зрения пользователя, поскольку FUSE унифицирует представление данных устройства, обычно неважно, какой именно протокол лежит в основе подключения.

Использование подключения FUSE в macOS

Покажем этот подход на примере macOS и подключения устройства. Чтобы это сработало, нужно установить бесплатный менеджер пакетов Homebrew и уметь работать с Терминалом в macOS.

Для начала найдём UDID вашего устройства. Это можно сделать с помощью бесплатной версии iPhone Backup Extractor, команды lsusb или ioreg -p IOUSB -l -w 0. Запустите iPhone Backup Extractor при подключённом устройстве, выберите своё устройство и откройте вкладку «Информация». UDID отображается в разделе «Идентификаторы оборудования»:

Данные устройства в iPhone Backup Extractor

Данные устройства в iPhone Backup Extractor

Теперь подготовим FUSE для macOS:

$ brew tap homebrew/cask
$ brew cask install osxfuse

==> Caveats
To install and/or use osxfuse you may need to enable their kernel extension in

  System Preferences → Security & Privacy → General

For more information refer to vendor documentation or the Apple Technical Note:

  https://developer.apple.com/library/content/technotes/tn2459/_index.html

You must reboot for the installation of osxfuse to take effect.

А теперь установим ifuse — код, который может взаимодействовать с устройствами iOS через FUSE:

$ brew install ifuse

Когда ifuse установлен, можно подключить iPhone или iPad, используя UDID, полученный ранее:

$ mkdir ~/iphone
$ ifuse ~/iphone --udid 000000000000000000000000

Теперь iPhone будет подключён к компьютеру в виде диска. Если хотите пойти дальше и изучить больше данных, будет полезна эта публикация на superuser, а эта публикация описывает использование инструмента usbmuxd.

Нужно использовать предварительную версию usbmuxd?

usbmuxd обновляется нечасто, поэтому иногда при выходе новой версии iOS поддержки в нём нет. Чтобы это исправить, установите его последнюю версию для разработки, как показано ниже:

brew unlink usbmuxd
brew install --HEAD usbmuxd
brew unlink libimobiledevice
brew install --HEAD libimobiledevice
brew cask uninstall osxfuse
brew cask install osxfuse idevicepair

Доступ к данным приложений по USB с помощью FUSE на устройстве с джейлбрейком

Инструкции точно такие же, как выше. Если на устройстве выполнен джейлбрейк, вы сразу увидите больше данных. Здорово, правда?

Использование WebDAV-сервера Filza для доступа к корневым файлам iOS

На устройстве iOS с джейлбрейком через Cydia можно установить файловый менеджер Filza. В настройках Filza можно включить режим сервера WebDAV. Это довольно простой интерфейс, через который другие устройства могут получить доступ к вашему устройству iOS, хотя он крайне небезопасен. WebDAV — очень универсальный механизм работы с веб-данными, и доступ к нему есть у многих клиентов, в том числе у веб-интерфейса, встроенного в Filza. Подключитесь к устройству через веб-браузер, и вы увидите интерфейс. Всё просто.

Использование AFC2 для доступа к файлам iOS по USB

AFC2 можно установить из Cydia, и после установки любой клиент AFC сможет просматривать устройство целиком.

Другие способы получить доступ ко всем данным на устройствах с джейлбрейком

До выхода iOS 8 существовало несколько плагинов Cydia для устройств с джейлбрейком, благодаря которым iPhone при подключении определялся как USB-накопитель. Увы, в современных версиях iOS они больше не поддерживаются.

Восстановление удалённых файлов с подключённого устройства iOS

Если вы можете подключить iPhone или iPad в виде диска, может показаться, что удалённые файлы можно восстановить, напрямую работая с файловой системой на устройстве с джейлбрейком. К сожалению, таким способом файлы с iPhone восстановить нельзя, поскольку файловая система зашифрована. Даже если бы вам удалось найти фрагменты данных, расшифровать их было бы невозможно. У каждого файла свой ключ шифрования, и при удалении эти ключи уничтожаются.

Об этом кратко говорится в руководстве Apple по безопасности iOS на странице 17, в «обзоре архитектуры»:

Каждый раз, когда на разделе данных создаётся файл, функция «Защита данных» создаёт новый 256-битный ключ («ключ файла») и передаёт его аппаратному механизму AES, который использует этот ключ для шифрования файла при записи во флеш-память в режиме AES-XTS. На устройствах с SoC A7, S2 или S3 используется AES-CBC. Вектор инициализации вычисляется на основе смещения блока в файле и шифруется с помощью хеша SHA-1 ключа файла.

Подключение хорошо подходит для доступа к существующим файлам, но для восстановления почти бесполезно. Для этого нужна резервная копия iTunes или iCloud, данные, синхронизированные с iCloud, или криминалистический образ устройства, созданный до удаления данных.

Бонус: подключение компьютера с Windows с iPhone или iPad

В iOS 13 появилась поддержка SMB. Она позволяет удалённо получать доступ к дискам на компьютерах с Windows. Вот как это работает:

  1. Узнайте IP-адрес компьютера с Windows. Его покажет команда ipconfig.
  2. На компьютере с Windows щёлкните правой кнопкой мыши папку, к которой хотите открыть доступ, и выберите Properties → Sharing → Advanced sharing. Нажмите «Открыть общий доступ к этой папке».
  3. На вкладке «Доступ» выберите Share..., затем в раскрывающемся меню выберите свою учётную запись, добавьте её и убедитесь, что у неё есть разрешения «Чтение и запись». Нажмите «Поделиться» и «Применить» и закройте окно.
  4. На устройстве iOS откройте приложение Apple «Файлы» и нажмите «Подключиться к серверу». Введите smb:// и IP-адрес вашего компьютера. Затем выберите «Зарегистрированный пользователь» и введите имя учётной записи и пароль Windows.

После этого диск Windows должен появиться на устройстве iOS.


Об авторе

Aidan Fitzpatrick

Основатель, генеральный директор

Aidan основал Reincubate в 2008 году, создав первый в мире инструмент восстановления данных для iOS. С тех пор он превратил компанию в одного из ведущих в мире независимых поставщиков программного обеспечения (ISV), сотрудничая с такими компаниями, как AMD, Qualcomm и HP, чтобы создавать значимые функции машинного обучения для видеопрограмм, главным примером которых служит экосистема приложений Camo. Под руководством Aidan Reincubate четыре раза получала высшую бизнес-награду Великобритании, вошла в список The Sunday Times 100 Tech и была отмечена номинациями на Apple Design Award и в App Store. Его работы и методы нередко цитируются в научных статьях по мобильной криминалистике, а его приглашают выступать на мероприятиях таких компаний, как Google, Microsoft и Snap.


Похожие статьи

Нужна помощь?

Мы стараемся отвечать на все сообщения в течение одного рабочего дня.

support@reincubate.com
Помощь