Montagem de discos virtuais: desbloqueio de LUKS, BitLocker e FileVault 2 integrado à varredura e à recuperação

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Lucas RayanandClaude Sonnet 5.5 committed 2026-10-18 23:18:04 -03:00
1 parent a2ce82315e
commit c014526761
9 files changed
+457 -24

No files matched your search

-15
View File
@@ -95,7 +95,6 @@ struct Ext<'a> {
inodes: u64,
groups: Vec<Group>,
journal_inum: u32,
incompat: u32,
}
/// Sequência de (bloco lógico, bloco físico, quantidade, não-inicializado).
@@ -163,7 +162,6 @@ impl<'a> Ext<'a> {
inodes: le32(&sb, 0) as u64,
groups,
journal_inum: le32(&sb, 224),
incompat,
})
}
@@ -327,19 +325,6 @@ impl<'a> Ext<'a> {
out
}
fn read_file(&self, ino: &Inode, max: u64) -> Vec<u8> {
let size = ino.size.min(max);
let mut out = Vec::with_capacity(size as usize);
for e in self.file_extents(ino, size) {
if e.sparse {
out.extend(std::iter::repeat(0).take(e.len as usize));
} else if let Ok(v) = read_vec(self.src, e.offset, e.len as usize) {
out.extend(v);
}
}
out
}
/// Mapa de blocos livres (bitmap), em extents absolutos.
fn free_map(&self, ctx: &Ctx) -> (Vec<Extent>, Vec<bool>) {
let mut free: Vec<Extent> = vec![];