dpp-tool-0.3.2 is not a library.
dpp-tool
Cross-platform Rust library for reading Apple File System (APFS) containers
Cross-platform pure Rust CLI for exploring Apple DMG disk images.
Navigate the full stack from DMG container down to individual files — no macOS required:
DMG (UDIF) → HFS+ or APFS filesystem → PKG installer (XAR) → Payload (PBZX/CPIO) → files
Install
Quick Start
# Overview of everything inside a DMG
# Auto-detect filesystem and browse (works with HFS+ and APFS)
# Browse the HFS+ filesystem
# Inspect a PKG installer inside the DMG
# Extract a file from a PKG payload to stdout
Global Options
| Flag | Description |
|---|---|
--temp-file |
Extract partitions via temp file (default) — low memory (~4 KB) |
--in-memory |
Buffer partitions in memory — faster for small DMGs |
# Use in-memory mode for a small DMG
# Explicit temp-file mode (same as default)
Commands
| Command | Description |
|---|---|
dpp-tool info <dmg> |
Full pipeline overview |
dpp-tool bench <dmg> |
Benchmark each pipeline stage |
| dmg | |
dpp-tool dmg info <dmg> |
DMG format and compression stats |
dpp-tool dmg ls <dmg> |
List partitions |
dpp-tool dmg cat <dmg> [id] |
Extract raw partition data |
| fs (auto-detect) | |
dpp-tool fs info <dmg> |
Volume info (auto-detect HFS+/APFS) |
dpp-tool fs ls <dmg> <path> |
List directory |
dpp-tool fs tree <dmg> [path] |
Browse filesystem tree |
dpp-tool fs cat <dmg> <path> |
Extract file to stdout |
dpp-tool fs stat <dmg> <path> |
File metadata |
dpp-tool fs find <dmg> [opts] |
Find files by name/type |
| hfs | |
dpp-tool hfs info <dmg> |
HFS+ volume header |
dpp-tool hfs ls <dmg> <path> |
List directory |
dpp-tool hfs tree <dmg> [path] |
Browse filesystem tree |
dpp-tool hfs cat <dmg> <path> |
Extract file to stdout |
dpp-tool hfs stat <dmg> <path> |
File metadata |
dpp-tool hfs find <dmg> [opts] |
Find files by name/type |
| apfs | |
dpp-tool apfs info <dmg> |
APFS volume info |
dpp-tool apfs ls <dmg> <path> |
List directory |
dpp-tool apfs tree <dmg> [path] |
Browse filesystem tree |
dpp-tool apfs cat <dmg> <path> |
Extract file to stdout |
dpp-tool apfs stat <dmg> <path> |
File metadata |
dpp-tool apfs find <dmg> [opts] |
Find files by name/type |
| pkg | |
dpp-tool pkg info <dmg> <pkg> |
Package statistics |
dpp-tool pkg ls <dmg> <pkg> |
List XAR contents |
dpp-tool pkg find <dmg> <pkg> [opts] |
Find XAR entries |
dpp-tool pkg cat <dmg> <pkg> <file> |
Extract XAR entry |
| payload | |
dpp-tool payload info <dmg> <pkg> <comp> |
Payload stats |
dpp-tool payload ls <dmg> <pkg> <comp> [path] |
List payload files |
dpp-tool payload tree <dmg> <pkg> <comp> |
Browse payload tree |
dpp-tool payload find <dmg> <pkg> <comp> [opts] |
Find payload files |
dpp-tool payload cat <dmg> <pkg> <comp> <file> |
Extract payload file |
Examples
DMG layer
# Compression format and partition map
# List all partitions in the DMG
# Dump raw partition data
Filesystem (auto-detect)
# Auto-detect HFS+ or APFS and show volume info
# Browse the directory tree (works with both HFS+ and APFS)
# Find all .pkg files
# File metadata
HFS+ filesystem
# Browse the directory tree
# List a specific directory
# Find all .kext bundles
# Extract a file
PKG installer (XAR)
# List components inside a PKG
# Package statistics
Payload (PBZX/CPIO)
# List files inside a payload
# Browse payload tree
# Extract a file from the payload
License
MIT