6 个版本
0.2.4 | 2023 年 7 月 31 日 |
---|---|
0.2.3 | 2020 年 11 月 10 日 |
0.2.2 | 2020 年 9 月 16 日 |
0.2.0 | 2020 年 8 月 26 日 |
0.1.0 | 2020 年 7 月 26 日 |
#47 in macOS 和 iOS API
26 每月下载量
3MB
1K SLoC
DMgWiz
DMgWiz 允许您从压缩和加密的 DMG 文件中提取原始文件系统数据。它最初是一个 dmg2img 克隆,但由于 Rust 编程语言而具有更多功能和更高的安全性。
- 支持 adc、zlib、bzip2 和 lzfse 压缩
- 支持加密 DMG(AES-128 和 AES-256)
- 在 Windows、Linux、macOS 上运行
DMgWiz 既是 CLI 工具也是 Rust crate,因此它可以集成到其他项目中。
CLI 使用方法
dmgwiz [OPTIONS] <INPUT> [SUBCOMMAND]
OPTIONS:
-q Only print errors
-v Sets the level of verbosity (multiple allowed)
-p <password> Password for encrypted DMGs
info
dmgwiz <INPUT> info
decrypt
dmgwiz <INPUT> decrypt -o <output> -p <password>
extract
dmgwiz <INPUT> extract [-n <partition number>] -o <output>
Crate 使用方法
DMgWiz 也可以用作其他 Rust 项目的 crate。请参阅 API 文档 和 main.rs
以获取使用示例。
可以通过禁用加密 DMG 的支持来减少编译时间和 C 代码量。为此,在您的 Cargo.toml
中添加 default-features = false
选项:
[dependencies]
dmgwiz = {version = "0.2", default-features = false}
变更日志
0.2.4
- 修正了 plist 1.5 的 XML 解析
0.2.3
- 修正了 blkx_table.data_offset 中非空值 DMG 的处理
0.2.2
- 恢复为基于缓冲区的 LZFSE 解码
0.2.1
- 删除了解压缩的临时缓冲区
0.2.0
- 添加了对注释块的支持
- 在未设置
Name
属性的情况下,添加了CFName
作为回退 - 在功能中分离了加密支持(默认启用)
0.1.0
- 初始版本
参考文献
待办
- 验证 DMG 中的校验和
- 添加对 LZMA ("ULMO") 的支持
依赖项
~7–12MB
~235K SLoC