Dmg2img
   HOME

TheInfoList



OR:

Apple Disk Image is a disk image format commonly used by the macOS operating system. When opened, an Apple Disk Image is
mount Mount is often used as part of the name of specific mountains, e.g. Mount Everest. Mount or Mounts may also refer to: Places * Mount, Cornwall, a village in Warleggan parish, England * Mount, Perranzabuloe, a hamlet in Perranzabuloe parish, C ...
ed as a volume within the
Finder Finder may refer to: * Finder (surname) * Finder (software), part of the Apple Macintosh operating system * ''Finder'' (comics), a comic book series by Carla Speed McNeil * ''Finder'' (novel), a 1994 novel by Emma Bull * Finder Wyvernspur, a fi ...
. An Apple Disk Image can be structured according to one of several proprietary disk image formats, including the Universal Disk Image Format (UDIF) from Mac OS X and the New Disk Image Format (NDIF) from
Mac OS 9 Mac OS 9 is the ninth major release of Apple Inc., Apple's classic Mac OS operating system which was succeeded by macOS, Mac OS X (renamed to OS X in 2011 and macOS in 2016) in 2001. Introduced on October 23, 1999, it was promoted by Apple as "T ...
. An Apple disk image file's name usually has ".dmg" as its extension. A disk image is a compressed copy of the contents of a disk or folder. Disk images have .dmg at the end of their names. To see the contents of a disk image, you must first open the disk image so it appears on the desktop or in a Finder window.


Features

Apple Disk Image files are published with a
MIME type A media type (also known as a MIME type) is a two-part identifier for file formats and format contents transmitted on the Internet. The Internet Assigned Numbers Authority, Internet Assigned Numbers Authority (IANA) is the official authority for t ...
of ''application/x-apple-diskimage''. Different file systems can be contained inside these disk images, and there is also support for creating hybrid optical media images that contain multiple file systems. Some of the file systems supported include Hierarchical File System (HFS), HFS Plus (HFS+),
File Allocation Table File Allocation Table (FAT) is a file system developed for personal computers. Originally developed in 1977 for use on floppy disks, it was adapted for use on hard disks and other devices. It is often supported for compatibility reasons by ...
(FAT), ISO9660, and Universal Disk Format (UDF). Apple Disk Images can be created using utilities bundled with Mac OS X, specifically
Disk Copy Disk Copy was the default utility for handling logical volume images in System 7 through Mac OS X 10.2 (usable in System Software 6 as well). In later versions of macOS it has been replaced by DiskImageMounter for mounting the images and Disk ...
in Mac OS X v10.2 and earlier and Disk Utility in Mac OS X v10.3 and later. These utilities can also use Apple disk image files as images for burning CDs and DVDs. Disk image files may also be managed via the
command line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
using the utility. In Mac OS X v10.2.3, Apple introduced Compressed Disk Images and Internet-Enabled Disk Images for use with the Apple utility Disk Copy, which was later integrated into Disk Utility in 10.3. The Disk Copy application had the ability to display a multilingual software license agreement before mounting a disk image. The image will not be mounted unless the user indicates agreement with the license. An Apple Disk Image allows secure password protection as well as file compression, and hence serves both security and file distribution functions; such a disk image is most commonly used to distribute software over the Internet.


History

Apple originally created its disk image formats because the resource fork used by Mac applications could not easily be transferred over mixed networks such as those that make up the Internet. Even as the use of resource forks declined with Mac OS X, disk images remained the standard software distribution format. Disk images allow the distributor to control the Finder's presentation of the window, which is commonly used to instruct the user to copy the application to the correct folder. A previous version of the format, intended only for
floppy disk A floppy disk or floppy diskette (casually referred to as a floppy, or a diskette) is an obsolescent type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined w ...
images, is usually referred to as "Disk Copy 4.2" format, after the version of the
Disk Copy Disk Copy was the default utility for handling logical volume images in System 7 through Mac OS X 10.2 (usable in System Software 6 as well). In later versions of macOS it has been replaced by DiskImageMounter for mounting the images and Disk ...
utility that was used to handle these images. A similar format that supported compression of floppy disk images is called DART. New Disk Image Format (NDIF) was the previous default disk image format in
Mac OS 9 Mac OS 9 is the ninth major release of Apple Inc., Apple's classic Mac OS operating system which was succeeded by macOS, Mac OS X (renamed to OS X in 2011 and macOS in 2016) in 2001. Introduced on October 23, 1999, it was promoted by Apple as "T ...
, and disk images with this format generally have a ''.img'' (not to be confused with raw ''.img'' disk image files) or ''.smi'' file extension. Files with the ''.smi'' extension are actually applications that mount an embedded disk image, thus a "Self Mounting Image", intended only for Mac OS 9 and earlier. Universal Disk Image Format (UDIF) is the native format disk image format for Mac OS X. Disk images in this format typically have a ''.dmg'' extension.


File format

Apple has not released any documentation on the format, but attempts to reverse engineer parts of the format have been successful. The encrypted layer was reverse engineered in an implementation called VileFault (a spoonerism of FileVault). Apple disk image files are essentially raw disk images (i.e. contain block data) with some added metadata, optionally with one or two layers applied that provide compression and encryption. In , these layers are called CUDIFEncoding and CEncryptedEncoding. UDIF supports ADC (an old proprietary compression format by Apple), zlib, bzip2 (as of Mac OS X v10.4), LZFSE (as of Mac OS X v10.11), and lzma (as of macOS v10.15) compression internally.


Metadata

The UDIF metadata is found at the end of the disk image following the data. This trailer can be described using the following C structure. All values are big-endian (PowerPC byte ordering) typedef struct __attribute__((packed, scalar_storage_order("big-endian"))) UDIFResourceFile; The XML plist contains a (blocks) key, with information about how the preceding data fork is allocated. The main data is stored in a base64 block, using tables identified by the magic . This structure contains a table about blocks of data and the position and lengths of each "chunk" (usually only one chunk, but compression will create more). The data and resource fork information is probably inherited from NDIF.


Encryption

The encryption layer comes in two versions. Version 1 has a trailer at the end of the file, while version 2 (default since OS X 10.5) puts it at the beginning. Whether the encryption is a layer outside of or inside of the metadata (UDIF) is unclear from reverse engineered documentation, but judging from the demonstration it's probably outside.


Utilities

There are few options available to extract files or mount the proprietary Apple Disk Image format. Some cross-platform conversion utilities are: * ''dmg2img'' was originally written in Perl; however, the Perl version is no longer maintained, and the project was rewritten in C. It extracts the raw disk image from a DMG, without handling the file system inside. UDIF ADC-compressed images (UDCO) have been supported since version 1.5. * ''DMGEXtractor'' is written in Java with a graphical user interface (GUI), and it supports more advanced features of dmg including AES-128 encrypted images but not UDCO images. * '' The Sleuth Kit''. Only handles uncompressed DMG format, HFS+, and APFS. Most dmg files are unencrypted. Because the dmg metadata is found in the end, a program not understanding dmg files can nevertheless read it as if it was a normal disk image, as long as there is support for the file system inside. Tools with this sort of capacity include: * Cross-platform: 7-zip (HFS/HFS+), PeaZip (HFS/HFS+). * Windows:
UltraISO UltraISO is a crippleware application for Microsoft Windows for creating, modifying and converting ISO image files used for optical disc authoring, currently being produced by EZB Systems. Initially UltraISO was shareware however since 2006 i ...
,
IsoBuster IsoBuster is a data recovery computer program by Smart Projects, a Belgian company founded in 1995 by Peter Van Hove. As of version 3.0, it can recover data from damaged file systems or physically damaged disks including optical discs, hard di ...
, MacDrive (HFS/HFS+). * Unix-like: cdrecord and (e.g. ). Tools with specific dmg support include: * Windows: ** Transmac can handle both UDIF .dmg files and sparsebundles, as well as HFS/HFS+ and APFS. It is unknown whether it handles encryption. It can be used to create bootable macOS installers under Windows. ** A free Apple DMG Disk Image Viewer also exists, but it is unknown how much what it actually supports. * Unix-like: ** darling-dmg is a FUSE module enabling easy DMG file mounting on Linux. It supports UDIF and HFS/HFS+.


See also

*
cloop The compressed loop device (cloop) is a module for the Linux kernel. It adds support for transparently decompressed, read-only block devices. It is not a compressed file system: cloop is mostly used as a convenient way to compress conventional fi ...
* DiskImageMounter * Installer (macOS) * Sparse image


References


External links


Apple Developer Connection
A Quick Look at PackageMaker and Installer
O'Reilly Mac DevCenter
Tip 16-5. Create a Disk Image from a Directory in the Terminal {{Disk images Apple Inc. file systems Archive formats Compression file systems Disk images MacOS Year of introduction missing