pub struct VmdkIntegrity<R: Read + Seek> { /* private fields */ }Expand description
Forensic integrity analyzer over any Read + Seek VMDK source.
Reparses the raw structure on each call, so a single instance can run several analyses and tolerates partially-damaged images.
Implementations§
Source§impl<R: Read + Seek> VmdkIntegrity<R>
impl<R: Read + Seek> VmdkIntegrity<R>
Sourcepub fn into_inner(self) -> R
pub fn into_inner(self) -> R
Recover the wrapped reader.
Sourcepub fn validate_rgd(&mut self) -> Result<bool>
pub fn validate_rgd(&mut self) -> Result<bool>
Validate the redundant grain directory by comparing the grain-table contents
each directory references (not the pointers, which differ by design in every
healthy multi-copy image). Ok(true) when they match, Ok(false) when the RGD
is absent or diverges.
Sourcepub fn grain_directory_recovery(&mut self) -> Result<GdRecoveryReport>
pub fn grain_directory_recovery(&mut self) -> Result<GdRecoveryReport>
Classify every grain-directory entry against the redundant copy: how much of the primary GD is intact, damaged, and recoverable via the RGD.
Sourcepub fn check_integrity(&mut self) -> Result<IntegrityReport>
pub fn check_integrity(&mut self) -> Result<IntegrityReport>
Walk the grain directory and tables, counting pointers that fall beyond end-of-file (the signature of a truncated or tampered image). Covers VMDK4 sparse and seSparse; flat/COWD images report clean.
Sourcepub fn header_provenance(&mut self) -> Result<Option<HeaderProvenance>>
pub fn header_provenance(&mut self) -> Result<Option<HeaderProvenance>>
Read the 512-byte sparse-header provenance, or None if the header is not VMDK4.