arzisxam/apfs-excavate
GitHub: arzisxam/apfs-excavate
一款用 C11 编写的高性能命令行工具,用于从损坏或加密的 APFS 磁盘镜像中提取和恢复文件。
Stars: 0 | Forks: 0
# apfs-excavate
从损坏、受损或加密的 APFS 磁盘镜像中恢复文件 —— 即使驱动器的文件系统完全无法读取。
**apfs-excavate** 是一个完全使用 C 语言编写的高性能命令行工具。它可以在 macOS 和 Linux 上运行。
## 快速开始
```
./apfs-excavate damaged.img /Volumes/ExternalDrive/recovery/
```
就是这样。该脚本会在首次运行时自动构建工具 —— 无需安装或手动编译。
## 常见用途
```
# 基本恢复
./apfs-excavate damaged.dmg out/
# 加密卷 (FileVault / APFS encryption)
./apfs-excavate encrypted.dmg out/ --password "your passphrase"
# 在提取任何内容前查看可恢复的内容
./apfs-excavate damaged.dmg out/ --scan-only
# 仅恢复特定文件类型
./apfs-excavate damaged.dmg out/ --filter-ext jpg,pdf,mov,docx
# 在 SSD 上加速扫描(使用 4 个线程)
./apfs-excavate damaged.dmg out/ --workers 4
# 恢复中断的恢复(默认自动)
./apfs-excavate damaged.dmg out/
```
## 输出内容
成功运行后,输出文件夹将包含:
| 文件夹 / 文件 | 内容 |
|---|---|
| `recovered_files/` | 保留原始文件夹结构的文件 |
| `recovered_orphans/` | 找到但无法确定路径的文件 —— 按类型重命名 (jpg, pdf, …) |
| `recovered_unknown_format/` | 无法识别或解码的文件 |
| `recovered_deleted/` | 已删除的原始文件片段(仅在使用 `--deleted` 时生成) |
| `file_list.md` | 找到的所有文件的完整列表及其大小 |
| `recovery_summary.md` | 运行统计信息(找到的文件、已恢复的文件、耗时) |
| `unrecovered_files.md` | 工具找到但无法提取的文件 |
| `logs/` | 完整的执行日志、错误日志和大小过滤跳过列表 |
## 系统要求
- **macOS:** 安装 OpenSSL —— `brew install openssl`
- **Linux:** `apt install libssl-dev zlib1g-dev`
无其他依赖。运行此工具不需要安装 Python。
## 延伸阅读
| 文档 | 内容简介 |
|---|---|
| [用户指南](docs/user-guide.md) | 所有选项、高级用法和完整示例 |
| [辅助工具](docs/tools.md) | 用于诊断复杂镜像的辅助脚本 |
| [终端输出参考](docs/terminal-output-reference.md) | 各种运行场景的示例输出(恢复、Ctrl-C、仅扫描等) |
| [架构设计](docs/architecture.md) | 模块划分、阶段处理管线和检查点格式 |
| [执行流程](docs/execution-flow.md) | 每个阶段的详细逐步解析 |
| [加密处理管线](docs/encryption.md) | AES-XTS 解密、密钥派生和按区段加密机制 |
| [路线图](ROADMAP.md) | 计划中的功能和未来改进 |
## 当前状态与限制
- **未经测试的功能:** 已删除文件片段的恢复(`--deleted`)和加密卷的恢复(`--password`)已经实现,但尚未进行充分测试。Linux 上的编译和执行也尚未经过全面测试。
- **仅支持 APFS:** 此工具严格适用于 APFS 文件系统。如果在 ExFAT、FAT32 或 NTFS 镜像上运行,它将立即中止并提示 "No valid APFS container superblock found" 错误。
- **故障排除:** 如果在尝试运行 `./apfs-excavate` 时收到 "Permission denied" 错误,您可能需要先赋予脚本可执行权限:`chmod +x apfs-excavate`。
## 许可证
MIT —— 详见 [LICENSE](LICENSE)。
标签:APFS, Awesome, C11, FileVault, HTTP工具, SSD优化, 删除文件恢复, 加密磁盘解密, 存储解析, 孤立项重建, 安全测试工具, 客户端加密, 库, 应急响应, 开源, 损坏磁盘修复, 数字取证, 数据恢复, 文件提取, 文档结构分析, 断点续传, 硬盘修复, 系统管理, 系统运维, 自动化脚本, 高并发