Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/citruz/dmgwiz
Extract filesystem data from DMG files
https://github.com/citruz/dmgwiz
Last synced: about 5 hours ago
JSON representation
Extract filesystem data from DMG files
- Host: GitHub
- URL: https://github.com/citruz/dmgwiz
- Owner: citruz
- License: mit
- Created: 2019-10-20T18:05:06.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-11-14T06:10:35.000Z (2 months ago)
- Last Synced: 2025-01-11T15:53:44.627Z (8 days ago)
- Language: Rust
- Homepage:
- Size: 3.08 MB
- Stars: 29
- Watchers: 5
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-rainmana - citruz/dmgwiz - Extract filesystem data from DMG files (Rust)
README
DmgWiz
======
[![CI](https://github.com/citruz/dmgwiz/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/citruz/dmgwiz/actions/workflows/main.yml)
[![crates.io](https://img.shields.io/crates/v/dmgwiz)](https://crates.io/crates/dmgwiz)DmgWiz lets you extract raw filesystem data from compressed and encrypted DMG files. It started as a [dmg2img](http://vu1tur.eu.org/tools/) clone but has more features and is more secure due to the Rust programming language.
- Support for adc, zlib, bzip2 and lzfse compression
- Support for encrypted DMGs (AES-128 and AES-256)
- Runs on Windows, Linux, macOSDmgWiz is both a CLI tool and a Rust crate so it can be integrated into other projects.
**[🚀   Download](https://github.com/citruz/dmgwiz/releases)**
CLI Usage
---------dmgwiz [OPTIONS]
Commands:
info Print DMG partitions
extract Extract single or all partitions
decrypt Decrypt DMG
help Print this message or the help of the given subcommand(s)Global options (must be placed before subcommand):
-q, --quiet Only print errors
-v, --verbose... Level of verbosity (multiple allowed)
-h, --help Print help
-V, --version Print version**info**
dmgwiz info [OPTIONS]
Arguments:
Input file to readOptions:
-p, --password Password for encrypted DMGs
-h, --help Print help**decrypt**
dmgwiz decrypt --password
Arguments:
Input file to read
Output fileOptions:
-p, --password Password for encrypted DMGs (required)
-h, --help Print help**extract**
dmgwiz extract [OPTIONS]
Arguments:
Input file to read
Output fileOptions:
-p, --password Password for encrypted DMGs
-n, --partition Partition number (see info command). By default all partitions will be extracted.
-h, --help Print helpCrate Usage
-----------DmgWiz can also be used as a crate in other Rust projects. Please see the [API Documentation](https://docs.rs/dmgwiz) and `main.rs` for examples how to use it.
Support for encrypted DMGs can be disabled to reduce the compilation time and amount of C code. To do this, add the `default-features = false` option in your `Cargo.toml`:Â
```TOML
[dependencies]
dmgwiz = {version = "0.2", default-features = false}
```Changelog
---------0.2.4
- Fixed parsing of XML with plist 1.50.2.3
- Fixed handling of DMGs with a non-null value in blkx_table.data_offset0.2.2
- Reverted to buffer-based decoding for LZFSE0.2.1
- Removed temporary buffers for decompression0.2.0
- Added support for comment chunks
- Added `CFName` as fallback in case the `Name` attribute is not set
- Separated crypto support in a feature (enabled by default)0.1.0
- Initial releaseReferences
----------
- [dmg2img](http://vu1tur.eu.org/tools/)
- [Demystifying the DMG File Format - Jonathan Levin](http://newosxbook.com/DMG.html)TODO
----
- verify checksums in DMG
- add support for LZMA ("ULMO")