Образ диска Apple

редактировать
Образ диска Apple
Mac OS X Disk Image.png Значок отображает внутренний жесткий диск внутри стандартного значка файла.
Расширение имени файла .dmg,.smi,.img
Тип интернет-носителя application / x-apple-diskimage
Uniform Type Identifier (UTI) com.apple.disk-image. com.apple.disk-image-smi
РазработаноApple Inc.
Т Тип форматаОбраз диска

Образ диска Apple - это формат образа диска, обычно используемый в операционной системе macOS. При открытии образ диска Apple монтируется как том в Macintosh Finder.

. Образ диска Apple может быть структурирован в соответствии с одним из нескольких проприетарных форматов образа диска, включая универсальный образ диска. Форматировать (UDIF) из Mac OS X и новый формат образа диска (NDIF) из Mac OS 9. Имя файла образа диска Apple обычно имеет расширение «.dmg».

Содержание
  • 1 Характеристики
  • 2 История
  • 3 Формат файла
    • 3.1 Метаданные
    • 3.2 Шифрование
  • 4 Утилиты
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
Возможности

Файлы образа диска Apple публикуются с типом MIME application / x-apple-diskimage.

Различные файловые системы могут содержаться внутри этих образов дисков, а также имеется поддержка для создания гибридных образов оптических носителей, содержащих несколько файловых систем. Некоторые из поддерживаемых файловых систем включают иерархическую файловую систему (HFS), HFS Plus, таблицу размещения файлов (FAT), ISO9660 и Universal Disk Format (UDF).

Образы дисков Apple можно создавать с помощью утилит, поставляемых с Mac OS X, в частности, Disk Copy в Mac OS X v10.2 и более ранние версии и Дисковая утилита в Mac OS X v10.3 и новее. Эти утилиты также могут использовать файлы образов дисков Apple в качестве образов для записи компакт-дисков и DVD-дисков. Файлы образов дисков также могут управляться через интерфейс командной строки с помощью утилиты hdiutil.

В Mac OS X v10.2.3, Apple представила сжатые образы дисков и образы дисков с доступом в Интернет для использования с утилитой Apple Disk Copy, которая позже была интегрирована в Disk Utility в версии 10.3. Приложение Disk Copy могло отображать лицензионное соглашение на многоязычное программное обеспечение перед подключением образа диска. Образ не будет смонтирован, если пользователь не укажет соглашение с лицензией.

Образ диска Apple обеспечивает надежную защиту паролем, а также сжатие файлов и, следовательно, выполняет функции безопасности и распространения файлов. ; такой образ диска чаще всего используется для распространения программного обеспечения через Интернет.

История

Apple изначально создала свои форматы образов дисков, потому что ветвь ресурсов используемые приложениями Mac, не могут быть легко переданы по смешанным сетям, таким как те, что составляют Интернет. Несмотря на то, что использование вилок ресурсов в Mac OS X сократилось, образы дисков оставались стандартным форматом распространения программного обеспечения. Образы дисков позволяют распространителю управлять представлением окна Finder, которое обычно используется для указания пользователю скопировать приложение в нужную папку.

Предыдущая версия формата, предназначенная только для образов гибких дисков, обычно называется форматом «Disk Copy 4.2» после версии Disk Copy утилита, которая использовалась для обработки этих изображений. Аналогичный формат, который поддерживает сжатие образов гибких дисков, называется DART.

Новый формат образа диска (NDIF) был предыдущим форматом образа диска по умолчанию в Mac OS 9, и образы дисков с этим форматом формат обычно имеет расширение.img (не путать с необработанными файлами образа диска.img ) или расширение.smi. Файлы с расширением.smi на самом деле являются приложениями, которые монтируют встроенный образ диска, таким образом, «Самостоятельный образ», предназначенный только для Mac OS 9 и более ранних версий.

Универсальный формат образа диска (UDIF) - это собственный формат образа диска для Mac OS X. Образы дисков в этом формате обычно имеют расширение.dmg.

Формат файла

Apple не выпустила никакой документации по этому формату, но попытки реконструировать части формата оказались успешными. Зашифрованный уровень был реконструирован в реализации под названием VileFault (ложка из FileVault ).

Файлы образов дисков Apple, по сути, являются необработанными образами дисков (т.е. содержат данные блоков) с некоторые добавленные метаданные, необязательно с одним или двумя применяемыми уровнями, обеспечивающими сжатие и шифрование. В hdiutilэти уровни называются CUDIFEncoding и CEncryptedEncoding.

UDIF поддерживает ADC (старый частный формат сжатия от Apple), zlib, bzip2 (начиная с Mac OS X v10.4 ) и LZFSE (начиная с Mac OS X v10.11 ) внутреннее сжатие.

Метаданные

Метаданные UDIF находятся в конце образа диска после данных. Этот трейлер можно описать с помощью следующего C Все значения - big-endian (PowerPC порядок байтов)

typedef struct {uint8_t Signature [4]; // magic 'koly' uint32_t Version; // 4 ( по состоянию на 2013 год) uint32_t HeaderSize; // sizeof (this) = 512 (по состоянию на 2013 год) uint32_t Флаги; uint64_t RunningDataForkOffset; uint64_t DataForkOffset; // обычно 0, начало файла uint64_t DataForkLength; uint64_t RsrcForkOffset; // смещение и длина ресурсной вилки uint64_t RsrcForkLength; uint32_t SegmentNumber; // Обычно 1, может быть 0 uint32_t SegmentCount; // Обычно 1, может быть 0 uuid_t SegmentID; uint32_t DataChecksumType; // Контрольная сумма вилки данных uint32_t DataChecksumSize; uint32_t DataChecksum [32]; uint64_t XMLOffset; // Позиция списка свойств XML в файле uint64_t XMLLength; uint8_t Зарезервировано1 [120]; uint32_t ChecksumType; // Главная контрольная сумма uint32_t ChecksumSize; uint32_t Checksum [32]; uint32_t ImageVariant; // Неизвестно, обычно 1 uint64_t SectorCount; uint32_t reserved2; uint32_t reserved3; uint32_t reserved4; } __attribute __ ((упаковано, скалярный_ряд_хранилища ("обратный порядок байтов"))) UDIFResourceFile;

XML-список содержит ключ blkx(блоки) с информацией о том, как распределяется предыдущая ветвь данных. Основные данные хранятся в блоке base64 с использованием таблиц, обозначенных магическим 'mish'. Эта структура 'mish'содержит таблицу о блоках данных, а также о положении и длине каждого "фрагмента" (обычно только один фрагмент, но сжатие создает больше). Информация о ветке данных и ресурсов, вероятно, унаследована от NDIF.

Шифрование

Уровень шифрования бывает двух версий. Версия 1 имеет трейлер в конце файла, а версия 2 (по умолчанию, начиная с OS X 10.5) помещает его в начало. Является ли шифрование слоем вне или внутри метаданных blkx(UDIF), неясно из документации, созданной методом обратного проектирования, но, судя по демонстрации vfcrack, это, вероятно, снаружи.

Утилиты

Доступно несколько опций для извлечения файлов или монтирования проприетарного формата Apple Disk Image. Вот некоторые межплатформенные утилиты преобразования:

  • dmg2img изначально был написан на Perl ; однако версия Perl больше не поддерживается, и проект был переписан на C. Он извлекает необработанный образ диска из DMG, не обрабатывая файловую систему внутри. UDIF ADC-сжатые изображения (UDCO) поддерживаются начиная с версии 1.5.
  • DMGEXtractor написан на Java с GUI и поддерживает более продвинутые функции dmg, включая Изображения с шифрованием AES-128, но не изображения UDCO.
  • The Sleuth Kit. Обрабатывает формат DMG, HFS + и APFS.

Большинство файлов dmg не зашифрованы. Поскольку метаданные dmg обнаруживаются в конце, программа, не понимающая файлы dmg, тем не менее может читать их, как если бы это был обычный образ диска, если внутри файловая система поддерживается. Инструменты с такой емкостью включают:

  • Кросс-платформенный: 7-zip (HFS / HFS +), PeaZip (HFS/HFS+).
  • Windows : UltraISO, IsoBuster, MacDrive (HFS / HFS +).
  • Unix-подобный: cdrecord и mount( например, mount -o loop, ro -t hfsplus imagefile.dmg / mnt / mountpoint).

Инструменты со специальной поддержкой dmg включают:

  • Windows:
    • Transmac может обрабатывать как dmg-файлы UDIF, так и sparsebundles, а также HFS / HFS + и APFS. Неизвестно, обрабатывает ли он шифрование. Его можно использовать для создания загрузочных установщиков macOS под Windows.
    • Также существует бесплатная программа просмотра образов дисков Apple DMG, но неизвестно, как много того, что он на самом деле поддерживает.
  • Unix-like:
    • darling-dmg - это модуль FUSE, позволяющий легко монтировать файлы DMG в Linux. Он поддерживает UDIF и HFS / HFS +.
См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-11 20:58:32
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте