Expand description
DPP - DMG + PKG + PBZX parser
A cross-platform library for working with Apple disk images (DMG files).
§Features
- List partitions in DMG files
- Extract raw partition data
- Create DMG files with various compression methods
- Cross-platform - works on Windows, Linux, and macOS
§Supported Compression
- Raw (uncompressed)
- Zlib
- Bzip2
- LZFSE (Apple’s native compression)
- XZ (LZMA)
§Example
use udif::{DmgArchive, Result};
fn main() -> Result<()> {
// Open a DMG file
let mut archive = DmgArchive::open("image.dmg")?;
// List partitions
for partition in archive.partitions() {
println!("{}: {} sectors", partition.name, partition.sectors);
}
// Extract main partition
let data = archive.extract_main_partition()?;
std::fs::write("partition.raw", &data)?;
Ok(())
}Re-exports§
pub use checksum::CHECKSUM_TYPE_CRC32;pub use checksum::CHECKSUM_TYPE_NONE;pub use checksum::crc32;pub use error::DppError;pub use error::Result;pub use format::BlockType;pub use format::KolyHeader;pub use format::MishHeader;pub use format::PartitionEntry;pub use reader::CompressionInfo;pub use reader::DmgReader;pub use reader::DmgReaderOptions;pub use reader::DmgStats;pub use reader::is_dmg;pub use reader::open;pub use writer::CompressionMethod;pub use writer::DmgWriter;pub use writer::create;pub use writer::create_from_data;pub use writer::create_from_file;
Modules§
- checksum
- Checksum verification for DMG files
- error
- Error types for DMG operations
- format
- Binary format definitions for DMG files
- reader
- DMG reader implementation
- writer
- DMG writer implementation
Structs§
- DmgArchive
- High-level DMG archive interface
- DmgBuilder
- Builder for creating DMG files
- Partition
Info - Partition information
Enums§
- Partition
Type - Partition filesystem type detected from the partition name