Прошивка iPhone (файлы с расширением .ipsw) — это архив, содержащий все компоненты операционной системы iOS, включая ядро, драйверы, системные приложения и файлы восстановления. Распаковка этого архива может понадобиться в самых разных ситуациях: от ручного обновления устройства до глубокого анализа структуры системы разработчиками или энтузиастами джейлбрейка. Однако процесс извлечения данных из .ipsw имеет свои нюансы — Apple не предоставляет официальных инструментов для этой задачи, а сами файлы защищены цифровыми подписями.
В этом руководстве мы разберём все актуальные способы распаковки прошивки для iPhone (включая модели от iPhone 5s до iPhone 15 Pro Max), используя инструменты для Windows, macOS и Linux. Вы узнаете, как работать с утилитами 7-Zip, dmg2img, ipsw, а также как обойти типичные ошибки при извлечении файлов. Особое внимание уделим распаковке файлов .dmg внутри прошивки — они содержат критически важные данные для модификации системы.
Зачем распаковывать прошивку iPhone?
На первый взгляд, необходимость вручную извлекать содержимое .ipsw может показаться сомнительной — ведь iTunes (или Finder на macOS Catalina и новее) сам устанавливает прошивку на устройство. Однако есть несколько сценариев, где распаковка становится незаменимой:
- 🔧 Ручное восстановление — если стандартные методы не работают (например, ошибка
3194или14в iTunes). - 🔓 Джейлбрейк — модификация системных файлов для получения root-доступа (актуально для iOS 15.0–16.5).
- 🔍 Анализ безопасности — поиск уязвимостей или изучение структуры iOS исследователями.
- 📱 Извлечение фирменных приложений (например,
Setup.appилиSpringBoard) для кастомных сборок. - 🛠️ Создание кастомных прошивок (например, для iPhone 4s или iPad 2 с поддержкой устаревших версий iOS).
Важно понимать, что распаковка прошивки не равносильна её установке. Вы получите доступ к файлам, но для их применения на устройстве потребуются дополнительные инструменты вроде ideviceinstaller или futurerestore. Кроме того, модификация системных файлов без джейлбрейка приведёт к "кирпичу" устройства — восстановлению через DFU-мод.
Подготовка: что понадобится перед распаковкой
Прежде чем приступить, убедитесь, что у вас есть:
- Файл прошивки
.ipsw— скачайте его с официального источника (например, ipsw.me). Обратите внимание на модель устройства и версию iOS. - Архиватор —
7-Zip(для Windows),The Unarchiver(для macOS) илиunzip(для Linux). - Утилиты для работы с
.dmg—dmg2img(кроссплатформенная) илиhdiutil(встроенная в macOS). - Место на диске — распакованная прошивка может занимать до
10–15 ГБ(например, iPhone 14 Pro Max на iOS 17.2).
Также рекомендуем создать отдельную папку для работы — это упростит навигацию между сотнями извлечённых файлов. Если вы работаете на Windows, отключите защитник Windows на время распаковки — он может блокировать файлы с нестандартными сигнатурами.
☑️ Подготовка к распаковке прошивки
Способ 1: Распаковка IPSW на Windows (7-Zip + dmg2img)
На Windows процесс распаковки состоит из двух этапов: извлечение .ipsw как ZIP-архива и последующая конвертация .dmg-файлов в читаемый формат. Вот пошаговая инструкция:
- Скачайте и установите
7-Zip(версия не ниже22.01). - Скачайте
dmg2imgи распакуйтеdmg2img.exeв папку с прошивкой. - Кликните правой кнопкой по файлу
.ipsw→7-Zip→Распаковать здесь. - В папке появятся файлы с расширениями
.dmg,.plistи другие. Для работы с.dmgоткройтеКомандную строку(Win + R→cmd) и выполните:dmg2img.exe -i "018-XXXX-XXX.dmg" -o "converted.img"где
018-XXXX-XXX.dmg— имя вашего.dmg-файла. - Готовый
.img-файл можно смонтировать черезWinCDEmuили открыть в7-Zipкак архив.
Если dmg2img выдаёт ошибку "Unsupported compression type", попробуйте использовать dmg2img от vu1tur — эта версия поддерживает новые форматы сжатия Apple.
Способ 2: Распаковка на macOS (Terminal + hdiutil)
На macOS процесс проще благодаря встроенным утилитам. Вам не потребуются сторонние программы, если вы работаете с прошивками до iOS 16. Для новых версий (iOS 17+) может понадобиться ipsw от blacktop.
Инструкция:
- Откройте
Terminal(Cmd + Пробел→ введитеTerminal). - Перейдите в папку с прошивкой:
cd ~/Downloads/(замените путь на актуальный).
- Распакуйте
.ipswкак ZIP-архив:unzip -q 'iPhone_X_X.X_X_Restore.ipsw'(имя файла укажите своё).
- Конвертируйте
.dmgв.img:hdiutil convert '018-XXXX-XXX.dmg' -format UDRW -o 'converted.img' - Смонтируйте полученный образ:
hdiutil attach 'converted.img.dmg'(обратите внимание на автоматическое добавление
.dmgк имени).
Для прошивок iOS 17 и новее используйте ipsw:
ipsw extract iPhone_X_X.X_X_Restore.ipsw --component Firmware/all_flash/all_flash.n42ap.production
Эта команда извлечёт конкретный компонент (например, файлы модема или kernelcache).
Что делать, если hdiutil выдаёт ошибку "resource busy"?
Эта ошибка возникает, если образ уже смонтирован в системе. Откройте Дисковую утилиту, найдите смонтированный образ и нажмите Извлечь. После этого повторите команду.
Способ 3: Распаковка на Linux (ipsw + dmg2img)
На Linux процесс аналогичен macOS, но требует установки дополнительных пакетов. Мы будем использовать ipsw от blacktop и dmg2img.
Установите зависимости:
sudo apt update
sudo apt install -y unzip dmg2img git python3-pip
pip3 install pyimg4
Далее следуйте инструкции:
- Скачайте
ipsw:git clone https://github.com/blacktop/ipsw.gitcd ipsw
make install
- Распакуйте прошивку:
ipsw extract ~/Downloads/iPhone_X_X.X_X_Restore.ipsw(указывайте свой путь к файлу).
- Конвертируйте
.dmg:dmg2img -i '018-XXXX-XXX.dmg' -o 'converted.img' - Смонтируйте образ:
sudo mount -o loop converted.img /mnt/ios_firmware/(предварительно создайте папку
/mnt/ios_firmware).
Для извлечения конкретных файлов (например, kernelcache или DeviceTree) используйте флаг --component:
ipsw extract firmware.ipsw --component KernelCache
Работа с распакованными файлами: что искать внутри прошивки
После распаковки вы получите сотни файлов с непонятными названиями. Вот ключевые компоненты, которые могут быть полезны:
| Файл/папка | Описание | Где используется |
|---|---|---|
kernelcache |
Ядро iOS (сжатое в IMG4) |
Джейлбрейк, патчи для модификации системы |
DeviceTree.* |
Конфигурация "железа" (модели, чипы, датчики) | Порт прошивок на несопровождаемые устройства |
restored_external |
Файлы для восстановления через iTunes | Ручное обновление без потери данных |
Firmware/dfu/* |
Файлы для режима DFU |
Восстановление "кирпичей" |
rootfs.dmg |
Корневая файловая система iOS | Извлечение системных приложений (MobileSafari.app, SpringBoard.app) |
Для модификации файлов (например, для джейлбрейка) часто требуется декомпиляция или работа с IMG4-контейнерами. Используйте утилиты:
- 🔧
img4tool— для распаковки/упаковкиIMG4. - 🔧
jtool2— для анализа бинарных файлов iOS. - 🔧
ldid— для подписи модифицированных файлов.
Типичные ошибки и их решения
При распаковке прошивки пользователи часто сталкиваются с проблемами. Вот самые распространённые и способы их решения:
⚠️ Внимание: Если7-Zipвыдаёт ошибку"Headers Error"при открытии.ipsw, значит файл скачан не полностью. Повторите загрузку и проверьте контрольную сумму (SHA1) на сайте ipsw.me.
| Ошибка | Причина | Решение |
|---|---|---|
dmg2img: unsupported compression |
Новый формат сжатия в iOS 15+ | Используйте dmg2img от vu1tur |
hdiutil: image not recognized |
.dmg с нестандартной сигнатурой |
Конвертируйте через dmg2img вместо hdiutil |
ipsw: no such component |
Неверное имя компонента | Проверьте список компонентов командой ipsw components firmware.ipsw |
mount: wrong fs type |
Файловая система APFS не поддерживается |
Используйте apfs-fuse для монтирования на Linux |
⚠️ Внимание: Если вы распаковываете прошивку для iPhone с чипом A12 и новее (iPhone XS, iPhone 11 и т.д.), файлыkernelcacheиDeviceTreeмогут быть зашифрованы с использованиемIMG4. Для их распаковки потребуется ключivиkey, которые можно извлечь изiBootс помощьюimg4tool.
FAQ: Частые вопросы о распаковке прошивки iPhone
Можно ли распаковать прошивку без компьютера, прямо на iPhone?
Нет, iOS не предоставляет инструментов для работы с .ipsw-файлами. Однако вы можете использовать джейлбрейк-твики вроде Filza или iFile, чтобы просматривать уже установленные системные файлы (но не модифицировать их без риска повредить систему).
Как проверить, что прошивка оригинальная и не модифицирована?
Сравните контрольную сумму (SHA1 или SHA256) скачанного файла с эталонной на сайте ipsw.me. Также можно использовать команду:
shasum -a 256 iPhone_X_X.X_X_Restore.ipsw
Если хэши совпадают — файл оригинальный.
Можно ли из распакованной прошивки извлечь приложения вроде Safari или Камеры?
Да, но только в формате .app-пакетов (например, MobileSafari.app). Эти файлы находятся в rootfs.dmg по пути /Applications/. Однако установить их на не-джейлбрейкнутое устройство невозможно — iOS блокирует модификацию системных приложений.
Что такое файлы с расширением .im4p и как их открыть?
Файлы .im4p — это IMG4-контейнеры, используемые Apple для подписи компонентов прошивки. Для их распаковки используйте:
img4tool -e -p PAYLOAD.im4p -o payload.bin
где PAYLOAD.im4p — ваш файл. Потребуются ключи iv и key, которые можно извлечь из iBoot.
Можно ли распаковать прошивку для iPhone на Android-смартфоне?
Технически да, но это крайне неудобно. Вам потребуется Termux с установленными unzip, dmg2img и python. Однако из-за ограничений Android (отсутствие полноценной файловой системы) монтирование .dmg будет невозможно. Лучше использовать Windows/macOS/Linux.