[package]
edition = "2021"
rust-version = "1.96"
name = "disk-forensic"
version = "0.8.2"
build = false
exclude = [
"fuzz/",
".github/",
"wix/",
"deny.toml",
"renovate.json",
".pre-commit-config.yaml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Forensic disk-image orchestrator — decodes E01/VMDK/VHDX/VHD/QCOW2/DMG containers, auto-detects MBR/GPT/APM, and routes ISO 9660 to filesystem analysis"
readme = "README.md"
keywords = [
"forensics",
"partition",
"mbr",
"gpt",
]
categories = [
"parser-implementations",
"filesystem",
]
license = "Apache-2.0"
repository = "https://github.com/SecurityRonin/disk-forensic"
[package.metadata.deb]
maintainer = "SecurityRonin <security-ronin@users.noreply.github.com>"
section = "utils"
priority = "optional"
extended-description = "disk4n6 is a forensic disk-image orchestrator and live-device triage tool. It decodes E01/VMDK/VHDX/VHD/QCOW2/DMG containers, auto-detects MBR/GPT/APM partitioning, routes ISO 9660 to filesystem analysis, and lists the host's physical disks and partitions with a proportional partition-layout view and acquisition-integrity findings."
assets = [[
"target/release/disk4n6",
"usr/bin/",
"755",
]]
[features]
default = []
serde = [
"dep:serde",
"dep:serde_json",
"mbr-partition-forensic/serde",
"apm-partition-forensic/serde",
"gpt-partition-forensic/serde",
"iso9660-forensic/serde",
"forensicnomicon/serde",
"livedisk/serde",
"livedisk-forensic/serde",
]
[lib]
name = "disk_forensic"
path = "src/lib.rs"
[[bin]]
name = "disk4n6"
path = "src/bin/disk4n6.rs"
[[test]]
name = "cli_tests"
path = "tests/cli_tests.rs"
[[test]]
name = "container_findings_tests"
path = "tests/container_findings_tests.rs"
[[test]]
name = "container_tests"
path = "tests/container_tests.rs"
[[test]]
name = "dispatch_tests"
path = "tests/dispatch_tests.rs"
[[test]]
name = "iso_normalize_tests"
path = "tests/iso_normalize_tests.rs"
[[test]]
name = "live_linux"
path = "tests/live_linux.rs"
[[test]]
name = "normalize_tests"
path = "tests/normalize_tests.rs"
[[test]]
name = "open_tests"
path = "tests/open_tests.rs"
[[test]]
name = "provenance_tests"
path = "tests/provenance_tests.rs"
[[test]]
name = "render_tests"
path = "tests/render_tests.rs"
[[test]]
name = "sniff_tests"
path = "tests/sniff_tests.rs"
[dependencies.apm-partition-forensic]
version = "0.5.0"
[dependencies.dmg]
version = "0.1.2"
package = "dmg-core"
[dependencies.ewf]
version = "0.2.1"
[dependencies.forensicnomicon]
version = "0.5"
[dependencies.gpt-partition-forensic]
version = "0.5.0"
[dependencies.iso9660-forensic]
version = "0.6.0"
[dependencies.livedisk]
version = "0.1.2"
package = "livedisk-core"
[dependencies.livedisk-forensic]
version = "0.1.2"
[dependencies.mbr-partition-forensic]
version = "0.5.0"
[dependencies.qcow2]
version = "0.2"
package = "qcow2-core"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.vhdx]
version = "0.2.0"
package = "vhdx-core"
[dependencies.vmdk]
version = "0.7.0"
package = "vmdk-core"
[dependencies.vmdk-forensic]
version = "0.7.0"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[lints.rust]
unsafe_code = "forbid"