Образ диска Apple
Расширение имени файла |
.dmg, .smi, .img |
---|---|
Тип интернет-СМИ |
приложение/x-apple-diskimage |
Единый идентификатор типа (UTI) |
|
Разработано | Apple Инк. |
Тип формата | Образ диска |
Яблоко [1] Образ диска — это формат образа диска , обычно используемый операционной системой macOS . При открытии образ диска Apple монтируется как том в Finder .
Образ диска Apple может быть структурирован в соответствии с одним из нескольких собственных форматов образа диска, включая универсальный формат образа диска (UDIF) из Mac OS X и новый формат образа диска (NDIF) из Mac OS 9 . Имя файла образа диска Apple обычно имеет расширение «.dmg». Образ диска — это сжатая копия содержимого диска или папки. Образы дисков имеют в конце имени расширение .dmg. Чтобы просмотреть содержимое образа диска, необходимо сначала открыть образ диска, чтобы он появился на рабочем столе или в окне Finder.
Функции
[ редактировать ]Файлы образов дисков Apple публикуются с MIME-типом application /x-apple-diskimage .
Внутри этих образов дисков могут содержаться различные файловые системы , а также поддерживается создание гибридных образов оптических носителей , содержащих несколько файловых систем. [1] Некоторые из поддерживаемых файловых систем включают иерархическую файловую систему (HFS), HFS Plus (HFS+), таблицу размещения файлов (FAT), ISO9660 и универсальный формат диска (UDF). [1] [2]
Образы дисков Apple можно создавать с помощью утилит, входящих в состав Mac OS X, в частности Disk Copy в Mac OS X v10.2 и более ранних версиях и Дисковой утилиты в Mac OS X v10.3 и более поздних версиях. Эти утилиты также могут использовать файлы образов дисков Apple в качестве образов для записи компакт-дисков и DVD-дисков. Файлами образов дисков также можно управлять через интерфейс командной строки, используя команду hdiutil полезность. [3]
В Mac OS X v10.2.3 Apple представила сжатые образы дисков. [4] и образы дисков с доступом через Интернет для использования с утилитой Apple Disk Copy, которая позже была интегрирована в Дисковую утилиту в версии 10.3. Приложение Disk Copy имело возможность отображать многоязычное лицензионное соглашение на программное обеспечение перед подключением образа диска. Образ не будет смонтирован, если пользователь не укажет согласие с лицензией. [5]
Образ диска Apple обеспечивает надежную защиту паролем, а также сжатие файлов и, следовательно, выполняет функции безопасности и распространения файлов; такой образ диска чаще всего используется для распространения программного обеспечения через Интернет.
История
[ редактировать ]Apple изначально создала свои форматы образов дисков, потому что ветвь ресурсов , используемая приложениями Mac, не могла быть легко передана по смешанным сетям, таким как те, которые составляют Интернет. Несмотря на то, что в Mac OS X использование вилок ресурсов сократилось, образы дисков оставались стандартным форматом распространения программного обеспечения. Образы дисков позволяют дистрибьютору управлять представлением окна Finder, которое обычно используется для указания пользователю скопировать приложение в правильную папку.
Предыдущая версия формата, предназначенная только для образов гибких дисков , обычно называется форматом «Disk Copy 4.2» по названию версии утилиты Disk Copy , которая использовалась для обработки этих образов. [1] Похожий формат, поддерживающий сжатие образов дискет, называется DART. [1] [6]
Новый формат образа диска (NDIF) был предыдущим форматом образа диска по умолчанию в Mac OS 9 . [1] и образы дисков этого формата обычно имеют расширение .img (не путать с необработанными .img файлами образов дисков ) или .smi . Файлы с расширением .smi на самом деле представляют собой приложения, которые монтируют встроенный образ диска, то есть «самомонтирующийся образ», предназначенный только для Mac OS 9 и более ранних версий. [7] [2]
Универсальный формат образа диска (UDIF) — это собственный формат образа диска для Mac OS X. Образы дисков в этом формате обычно имеют расширение .dmg . [1]
Формат файла
[ редактировать ]Apple не опубликовала никакой документации по формату, но попытки реконструировать части формата оказались успешными. Зашифрованный уровень был реконструирован в реализации под названием VileFault ( FileVault ) разновидность . [8]
Файлы образов дисков Apple по существу представляют собой необработанные образы дисков (т. е. содержат блочные данные) с некоторыми добавленными метаданными, возможно, с одним или двумя слоями, обеспечивающими сжатие и шифрование. В hdiutilэти уровни называются CUDIFEncoding и CEncryptedEncoding. [1]
UDIF поддерживает ADC (старый собственный формат сжатия Apple), zlib , bzip2 (начиная с Mac OS X v10.4 ), LZFSE (начиная с Mac OS X v10.11 ), [9] и внутреннее сжатие lzma (начиная с macOS v10.15 ).
Метаданные
[ редактировать ]Метаданные UDIF находятся в конце образа диска после данных. Этот трейлер можно описать с помощью следующей структуры C. [10] Все значения имеют обратный порядок байтов ( PowerPC порядок байтов ).
typedef struct {
uint8_t Signature[4]; // magic 'koly'
uint32_t Version; // 4 (as of 2013)
uint32_t HeaderSize; // sizeof(this) = 512 (as of 2013)
uint32_t Flags;
uint64_t RunningDataForkOffset;
uint64_t DataForkOffset; // usually 0, beginning of file
uint64_t DataForkLength;
uint64_t RsrcForkOffset; // resource fork offset and length
uint64_t RsrcForkLength;
uint32_t SegmentNumber; // Usually 1, can be 0
uint32_t SegmentCount; // Usually 1, can be 0
uuid_t SegmentID;
uint32_t DataChecksumType; // Data fork checksum
uint32_t DataChecksumSize;
uint32_t DataChecksum[32];
uint64_t XMLOffset; // Position of XML property list in file
uint64_t XMLLength;
uint8_t Reserved1[120];
uint32_t ChecksumType; // Master checksum
uint32_t ChecksumSize;
uint32_t Checksum[32];
uint32_t ImageVariant; // Unknown, commonly 1
uint64_t SectorCount;
uint32_t reserved2;
uint32_t reserved3;
uint32_t reserved4;
} __attribute__((packed, scalar_storage_order("big-endian"))) UDIFResourceFile;
XML-список содержит blkx
Ключ (блоков) с информацией о том, как распределяется предыдущая ветка данных. Основные данные хранятся в блоке base64 с использованием таблиц, идентифицируемых магическим 'mish'
. Этот 'mish'
Структура содержит таблицу блоков данных, а также положение и длину каждого «куска» (обычно только один фрагмент, но при сжатии создается больше). [10] Информация о ветке данных и ресурсов, вероятно, унаследована от NDIF.
Шифрование
[ редактировать ]Уровень шифрования существует в двух версиях. Версия 1 имеет трейлер в конце файла, а версия 2 (по умолчанию, начиная с OS X 10.5) помещает его в начало. Независимо от того, является ли шифрование слоем снаружи или внутри blkx
метаданные (UDIF) неясны из документации по обратному проектированию, но, судя по vfcrack
демонстрация, что это, вероятно, снаружи. [8]
Утилиты
[ редактировать ]Существует несколько вариантов извлечения файлов или монтирования собственного формата образа диска Apple. Некоторые утилиты кросс-платформенного преобразования:
- dmg2img изначально был написан на Perl ; версия Perl больше не поддерживается, и проект был переписан на C. однако Он извлекает необработанный образ диска из DMG, не обрабатывая внутреннюю файловую систему. Изображения UDIF, сжатые с помощью ADC (UDCO), поддерживаются начиная с версии 1.5. [11]
- DMGEXtractor написан на Java с графическим пользовательским интерфейсом (GUI) и поддерживает более продвинутые функции dmg, включая зашифрованные изображения AES-128, но не изображения UDCO. [12]
- Комплект сыщика . Обрабатывает только несжатый формат DMG, HFS+ и APFS.
Большинство файлов dmg не зашифрованы. Поскольку метаданные dmg находятся в конце, программа, не понимающая файлы dmg, тем не менее, может прочитать их, как если бы это был обычный образ диска, если внутри есть поддержка файловой системы. К инструментам такого типа относятся:
- Кроссплатформенность: 7-zip (HFS/HFS+), PeaZip (HFS/HFS+).
- Windows: UltraISO , IsoBuster , MacDrive (HFS/HFS+). [13]
- Unix-подобные: cdrecord и
mount
(напримерmount -o loop,ro -t hfsplus imagefile.dmg /mnt/mountpoint
). [14] [15]
К инструментам со специальной поддержкой dmg относятся:
- Окна:
- Transmac может обрабатывать как файлы UDIF .dmg, так и разреженные пакеты, а также HFS/HFS+ и APFS. Неизвестно, поддерживает ли он шифрование. [16] Его можно использовать для создания загрузочных установщиков macOS под Windows. [17]
- Также существует бесплатная программа Apple DMG Disk Image Viewer, но неизвестно, насколько она на самом деле поддерживает. [18]
- Unix-подобный:
- darling-dmg — это модуль FUSE , позволяющий легко монтировать файлы DMG в Linux. Он поддерживает UDIF и HFS/HFS+. [19]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б с д и ж г час «Страница руководства hdiutil(1) Mac OS X» . Архивировано из оригинала 14 мая 2016 г. Проверено 14 мая 2016 г.
- ^ Перейти обратно: а б «Mac OS X: Использование диска Копирование файлов образа диска» . Архивировано из оригинала 19 декабря 2013 г. Проверено 25 апреля 2013 г.
- ^ Darwin и macOS по общим командам Руководство –
- ^ «Re: Некоторые приложения отказываются запускаться в 10.2.8! (ОТ, но очень важно)» . Архивировано из оригинала 17 января 2014 г.
- ^ «Гиды» . Яблоко. Архивировано из оригинала 6 марта 2009 г. Проверено 27 октября 2010 г.
- ^ «DART 1.5.3: История изменения версий» . Архивировано из оригинала 19 декабря 2013 г. Проверено 25 апреля 2013 г.
- ^ «Загрузка программного обеспечения: форматы и распространенные сообщения об ошибках» . Архивировано из оригинала 24 декабря 2010 г. Проверено 6 мая 2009 г.
- ^ Перейти обратно: а б «ВилеФолт» . 29 декабря 2006 г. Архивировано из оригинала 9 января 2007 г. Проверено 27 октября 2010 г.
- ^ Майкл Цай (07 октября 2015 г.). «Образы дисков LZFSE в Эль-Капитане» . mjtsai.com . Архивировано из оригинала 9 апреля 2017 г. Проверено 9 апреля 2017 г.
- ^ Перейти обратно: а б «Демистификация формата файла DMG» . Архивировано из оригинала 17 марта 2013 г.
- ^ «dmg2img» . Архивировано из оригинала 29 ноября 2010 года . Проверено 27 октября 2010 г.
- ^ «ДМГЭкстрактор» . catacombae.org . Архивировано из оригинала 2 января 2011 г. Проверено 03 января 2011 г.
- ^ Возможности MacDrive / Boot Camp / Системные требования /. «Главная страница MacDrive» . Медиачетыре. Архивировано из оригинала 4 октября 2010 года . Проверено 27 октября 2010 г.
- ^ «Как конвертировать DMG в ISO в Windows, Linux и Mac» . 21 июня 2008 г. Архивировано из оригинала 7 марта 2010 г.
- ^ «Преобразовать DMG в ISO с помощью PowerISO» . 29 января 2009 г. Архивировано из оригинала 2 мая 2009 г. Проверено 15 февраля 2009 г.
- ^ «О TransMac для Windows» . www.acutesystems.com .
- ^ «Конвертировать» . www.winytips.com . Винитипс. 24 декабря 2018 года . Проверено 5 мая 2020 г.
- ^ Оливия Дехавиленд (3 марта 2015 г.). «Просмотр образа диска Apple DMG» . DataForensics.org. Архивировано из оригинала 02 апреля 2015 г. Проверено 10 марта 2015 г.
- ^ "дорогой-дмг" . дорогая-dmg . Проверено 29 марта 2015 г.
Внешние ссылки
[ редактировать ]- Apple Developer Connection Краткий обзор PackageMaker и Installer
- Совет O'Reilly Mac DevCenter 16-5. Создайте образ диска из каталога в терминале