Значок отображает внутренний жесткий диск внутри стандартного значка файла. | |
Расширение имени файла | .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».
Файлы образа диска 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. Вот некоторые межплатформенные утилиты преобразования:
Большинство файлов dmg не зашифрованы. Поскольку метаданные dmg обнаруживаются в конце, программа, не понимающая файлы dmg, тем не менее может читать их, как если бы это был обычный образ диска, если внутри файловая система поддерживается. Инструменты с такой емкостью включают:
mount
( например, mount -o loop, ro -t hfsplus imagefile.dmg / mnt / mountpoint
).Инструменты со специальной поддержкой dmg включают: