Apple [1] Disk Image es un formato de imagen de disco comúnmente utilizado por el sistema operativo macOS . Cuando se abre, una imagen de disco de Apple se monta como un volumen dentro del Macintosh Finder .
Extensión de nombre de archivo | .dmg, .smi, .img |
---|---|
Tipo de medio de Internet | aplicación / x-apple-diskimage |
Identificador de tipo uniforme (UTI) | com.apple.disk-image |
Desarrollado por | Apple Inc. |
Tipo de formato | Imagen de disco |
Una imagen de disco de Apple se puede estructurar de acuerdo con uno de varios formatos de imagen de disco patentados, incluido el formato de imagen de disco universal (UDIF) de Mac OS X y el formato de imagen de disco nuevo (NDIF) de Mac OS 9 . El nombre de un archivo de imagen de disco de Apple suele tener ".dmg" como extensión.
Características
Los archivos de imagen de disco de Apple se publican con un tipo de aplicación MIME / x-apple-diskimage .
Se pueden contener diferentes sistemas de archivos dentro de estas imágenes de disco, y también hay soporte para crear imágenes de medios ópticos híbridos que contienen múltiples sistemas de archivos. [1] Algunos de los sistemas de archivos admitidos incluyen el sistema de archivos jerárquico (HFS), HFS Plus , la tabla de asignación de archivos (FAT), ISO9660 y el formato de disco universal (UDF). [1] [2]
Las imágenes de disco de Apple se pueden crear utilizando las utilidades incluidas con Mac OS X, específicamente Disk Copy en Mac OS X v10.2 y anterior y Utilidad de disco en Mac OS X v10.3 y posterior. Estas utilidades también pueden utilizar archivos de imagen de disco de Apple como imágenes para grabar CD y DVD. Los archivos de imagen de disco también se pueden administrar a través de la interfaz de línea de comandos utilizando la hdiutilutilidad. [3]
En Mac OS X v10.2 .3, Apple introdujo Imágenes de disco comprimidas [4] e Imágenes de disco habilitadas para Internet para su uso con la utilidad Disk Copy de Apple, que más tarde se integró en la Utilidad de disco en 10.3. La aplicación Disk Copy tenía la capacidad de mostrar un contrato de licencia de software multilingüe antes de montar una imagen de disco. La imagen no se montará a menos que el usuario indique que está de acuerdo con la licencia. [5]
Una imagen de disco de Apple permite una protección segura con contraseña, así como la compresión de archivos y, por lo tanto, cumple funciones de seguridad y distribución de archivos; esta imagen de disco se usa más comúnmente para distribuir software a través de Internet .
Historia
Apple creó originalmente sus formatos de imagen de disco porque la bifurcación de recursos utilizada por las aplicaciones de Mac no se podía transferir fácilmente a través de redes mixtas como las que componen Internet. Incluso cuando el uso de bifurcaciones de recursos disminuyó con Mac OS X, las imágenes de disco siguieron siendo el formato de distribución de software estándar. Las imágenes de disco permiten al distribuidor controlar la presentación de la ventana del Finder, que se usa comúnmente para indicar al usuario que copie la aplicación en la carpeta correcta.
Una versión anterior del formato, pensada solo para imágenes de disquete , generalmente se conoce como formato "Disk Copy 4.2", después de la versión de la utilidad Disk Copy que se utilizó para manejar estas imágenes. [1] Un formato similar que admite la compresión de imágenes de disquetes se llama DART. [1] [6]
El nuevo formato de imagen de disco (NDIF) era el formato de imagen de disco predeterminado anterior en Mac OS 9 , [1] y las imágenes de disco con este formato generalmente tienen un archivo .img (que no debe confundirse con archivos de imagen de disco .img sin procesar ) o .smi extensión. Los archivos con la extensión .smi son en realidad aplicaciones que montan una imagen de disco incrustada, por lo tanto, una "Imagen de montaje automático", pensada solo para Mac OS 9 y versiones anteriores. [7] [2]
Formato de disco universal (UDIF) es el nativo de formato de imagen de disco para Mac OS X . Las imágenes de disco en este formato suelen tener una extensión .dmg . [1]
Formato de archivo
Apple no ha publicado ninguna documentación sobre el formato, pero los intentos de aplicar ingeniería inversa a partes del formato han tenido éxito. La capa encriptada se diseñó a la inversa en una implementación llamada VileFault (un Spoonerism de FileVault ). [8]
Los archivos de imagen de disco de Apple son esencialmente imágenes de disco sin procesar (es decir, contienen datos de bloque) con algunos metadatos añadidos, opcionalmente con una o dos capas aplicadas que proporcionan compresión y cifrado. En hdiutil, estas capas se denominan CUDIFEncoding y CEncryptedEncoding. [1]
UDIF admite internamente la compresión ADC (un antiguo formato de compresión propietario de Apple), zlib , bzip2 (a partir de Mac OS X v10.4 ) y LZFSE (a partir de Mac OS X v10.11 ) [9] .
Metadatos
Los metadatos UDIF se encuentran al final de la imagen del disco que sigue a los datos. Este tráiler se puede describir utilizando la siguiente estructura en C. [10] Todos los valores son big-endian ( orden de bytes de PowerPC )
typedef struct { uint8_t Signature [ 4 ]; // versión mágica 'koly' uint32_t ; // 4 (a partir de 2013) uint32_t HeaderSize ; // sizeof (this) = 512 (a partir de 2013) uint32_t Flags ; uint64_t RunningDataForkOffset ; uint64_t DataForkOffset ; // normalmente 0, comienzo del archivo uint64_t DataForkLength ; uint64_t RsrcForkOffset ; // desplazamiento y longitud de la bifurcación de recursos uint64_t RsrcForkLength ; uint32_t SegmentNumber ; // Normalmente 1, puede ser 0 uint32_t SegmentCount ; // Normalmente 1, puede ser 0 uuid_t SegmentID ; uint32_t DataChecksumType ; // Suma de comprobación de bifurcación de datos uint32_t DataChecksumSize ; uint32_t DataChecksum [ 32 ]; uint64_t XMLOffset ; // Posición de la lista de propiedades XML en el archivo uint64_t XMLLength ; uint8_t Reservado1 [ 120 ]; uint32_t ChecksumType ; // Suma de comprobación maestra uint32_t ChecksumSize ; uint32_t Checksum [ 32 ]; uint32_t ImageVariant ; // Desconocido, comúnmente 1 uint64_t SectorCount ; uint32_t reservado2 ; uint32_t reservado3 ; uint32_t reservado4 ; } __attribute__ (( empaquetado , scalar_storage_order ( "big-endian" ))) UDIFResourceFile ;
La lista XML contiene una blkx
clave (bloques), con información sobre cómo se asigna la bifurcación de datos anterior. Los datos principales se almacenan en un bloque base64, utilizando tablas identificadas por la magia 'mish'
. Esta 'mish'
estructura contiene una tabla sobre bloques de datos y la posición y longitudes de cada "fragmento" (normalmente solo un fragmento, pero la compresión creará más). [10] La información de la bifurcación de datos y recursos probablemente se herede de NDIF.
Cifrado
La capa de cifrado viene en dos versiones. La versión 1 tiene un avance al final del archivo, mientras que la versión 2 (predeterminada desde OS X 10.5) lo coloca al principio. Si el cifrado es una capa fuera o dentro de los blkx
metadatos (UDIF) no está claro a partir de la documentación de ingeniería inversa, pero a juzgar por la vfcrack
demostración, probablemente esté fuera. [8]
Utilidades
Hay pocas opciones disponibles para extraer archivos o montar el formato de imagen de disco propietario de Apple. Algunas utilidades de conversión multiplataforma son:
- dmg2img se escribió originalmente en Perl ; Sin embargo, la versión Perl ya no se mantiene, y el proyecto fue reescrito en C . Extrae la imagen del disco sin procesar de un DMG, sin manipular el sistema de archivos en su interior. Las imágenes comprimidas UDIF ADC (UDCO) son compatibles desde la versión 1.5. [11]
- DMGEXtractor está escrito en Java con GUI y admite funciones más avanzadas de dmg, incluidas imágenes encriptadas AES-128 pero no imágenes UDCO. [12]
- El kit de detective . Solo maneja formato DMG sin comprimir, HFS + y APFS.
La mayoría de los archivos dmg no están encriptados. Debido a que los metadatos dmg se encuentran al final, un programa que no comprenda los archivos dmg puede leerlos como si fuera una imagen de disco normal , siempre que haya soporte para el sistema de archivos interno. Las herramientas con este tipo de capacidad incluyen:
- Multiplataforma: 7-zip (HFS / HFS +), PeaZip (HFS / HFS +).
- Windows: UltraISO , IsoBuster , MacDrive (HFS / HFS +). [13]
- Tipo Unix: cdrecord y
mount
(por ejemplomount -o loop,ro -t hfsplus imagefile.dmg /mnt/mountpoint
). [14] [15]
Las herramientas con soporte dmg específico incluyen:
- Ventanas:
- Transmac puede manejar tanto UDIF dmgs como sparsebundles, así como HFS / HFS + y APFS. Se desconoce si maneja el cifrado. [16] Se puede utilizar para crear instaladores macOS de arranque en Windows. [17]
- También existe un visor de imágenes de disco DMG de Apple gratuito, pero se desconoce cuánto admite realmente. [18]
- Similar a Unix:
- darling-dmg es un módulo FUSE que permite un fácil montaje de archivos DMG en Linux. Es compatible con UDIF y HFS / HFS +. [19]
Ver también
- cloop
- DiskImageMounter
- Instalador (macOS)
- Imagen escasa
Referencias
- ^ a b c d e f g h "hdiutil (1) Página del manual de Mac OS X" . Archivado desde el original el 14 de mayo de 2016 . Consultado el 14 de mayo de 2016 .
- ^ a b "Mac OS X: uso de archivos de imagen de disco de Disk Copy" . Archivado desde el original el 19 de diciembre de 2013 . Consultado el 25 de abril de 2013 .
- ^ - Manual de comandos generales de Darwin y macOS
- ^ "Re: ¡Algunas aplicaciones se niegan a lanzarse en 10.2.8! (OT, pero muy importante)" . Archivado desde el original el 17 de enero de 2014.
- ^ "Guías" . Manzana. Archivado desde el original el 6 de marzo de 2009 . Consultado el 27 de octubre de 2010 .
- ^ "DART 1.5.3: Historial de cambios de versión" . Archivado desde el original el 19 de diciembre de 2013 . Consultado el 25 de abril de 2013 .
- ^ "Descargas de software: formatos y mensajes de error comunes" . Archivado desde el original el 24 de diciembre de 2010 . Consultado el 6 de mayo de 2009 .
- ^ a b "VileFault" . 2006-12-29. Archivado desde el original el 9 de enero de 2007 . Consultado el 27 de octubre de 2010 .
- ^ Michael Tsai (7 de octubre de 2015). "Imágenes de disco LZFSE en El Capitan" . Archivado desde el original el 9 de abril de 2017 . Consultado el 9 de abril de 2017 .
- ^ a b "Desmitificando el formato de archivo DMG" . Archivado desde el original el 17 de marzo de 2013.
- ^ "dmg2img" . Archivado desde el original el 29 de noviembre de 2010 . Consultado el 27 de octubre de 2010 .
- ^ "DMGExtractor" . Archivado desde el original el 2 de enero de 2011 . Consultado el 3 de enero de 2011 .
- ^ Funciones de MacDrive / Boot Camp / Requisitos del sistema /. "Página de inicio de MacDrive" . Mediafour. Archivado desde el original el 4 de octubre de 2010 . Consultado el 27 de octubre de 2010 .
- ^ "Cómo convertir DMG a ISO en Windows, Linux y Mac" . Archivado desde el original el 7 de marzo de 2010.
- ^ "Convertir DMG a ISO usando PowerISO" . Archivado desde el original el 2 de mayo de 2009 . Consultado el 15 de febrero de 2009 .
- ^ "Acerca de TransMac para Windows" . www.acutesystems.com .
- ^ "Convertir" . www.winytips.com . winytips . Consultado el 5 de mayo de 2020 .
- ^ Olivia Dehaviland (3 de marzo de 2015). "Visor de imágenes de disco Apple DMG" . DataForensics.org. Archivado desde el original el 2 de abril de 2015 . Consultado el 10 de marzo de 2015 .
- ^ "cariño-maldición" . darling-dmg . Consultado el 29 de marzo de 2015 .
enlaces externos
- Conexión de desarrollador de Apple Un vistazo rápido a PackageMaker e Installer
- O'Reilly Mac DevCenter Tip 16-5. Cree una imagen de disco desde un directorio en la terminal