Files
guara/docs/suporte.md
T
Lucas RayanandClaude Sonnet 5 3755fc7d2a Documentação: README, roadmap e docs/ (suporte, terminal, arquitetura)
README reescrito refletindo o estado real pós-1.0.0 (ext4, APFS, HFS+,
Btrfs, XFS, BitLocker, LUKS, FileVault 2, RAID, LVM, E01/Ex01, AFF4, JPEG
fragmentado, MP4 sem moov), com links para a documentação nova.

ROADMAP.md: histórico de versões e dez áreas com estado (feito, parcial,
planejado, ideia de longo prazo), incluindo cadeia de custódia, análise
forense, interpretação de artefatos e extração de dispositivos móveis.

docs/suporte.md, docs/cli.md e docs/arquitetura.md: matriz de suporte,
referência de comandos e mapa dos módulos do núcleo. Removido docs/ do
.gitignore, já que passa a ser documentação pública do projeto.

CONTRIBUTING.md: seções para adicionar sistema de arquivos, baixar dados
de referência e manter a documentação atualizada.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-19 14:28:06 -03:00

103 lines
5.3 KiB
Markdown

# O que o Guará suporta
Matriz do que existe hoje (versão 1.0.0). Para o que vem a seguir, veja o [ROADMAP](../ROADMAP.md).
## Tabelas de partição
MBR e GPT. Quando a tabela falha, o Guará procura volumes por assinatura (NTFS, FAT, exFAT, ext, APFS, HFS+, BitLocker, LUKS) e também examina o **espaço não particionado**.
## Sistemas de arquivos
"Metadados" significa que o Guará lê a estrutura do sistema de arquivos e devolve **nome, pasta e datas**. Sem isso, a recuperação depende só do carving, que devolve o conteúdo sem nome.
| Sistema | Metadados | O que é aproveitado | Limites |
|---|---|---|---|
| NTFS | ✅ | MFT, registros apagados, datas de criação, modificação e acesso | Comprimidos e EFS são ignorados ou marcados como incompletos; lista de atributos tratada de forma parcial |
| FAT12/16/32 | ✅ | Entradas apagadas, nomes longos, datas | |
| exFAT | ✅ | Entradas apagadas, datas | Coberto por imagem sintética; falta validar em mais mídias reais |
| ext2/3/4 | ✅ | Inodes apagados, cópias antigas no diário (ext4), mapa de blocos livres | |
| HFS+ | ✅ | Sobras de nós da árvore de catálogo, diário | |
| Btrfs | ✅ | Versões antigas das árvores; extensões zlib, zstd e lzo | |
| XFS | ✅ | Inodes liberados, nomes de entradas liberadas, espaço livre por grupo | Exclusão testada só em simulação |
| APFS | 🟡 | Contêiner, mapa de objetos, árvore de arquivos, instantâneos, nós antigos | Sem mapa de espaço livre; exclusão testada só em simulação |
| ReFS | ❌ | Apenas detectado | Recuperação por carving |
| Storage Spaces | ❌ | Não suportado | |
Em todos os casos o carving continua rodando no espaço livre e o resultado é fundido sem duplicatas.
## Volumes cifrados
O Guará abre o volume com a **senha ou a chave que você fornece**, monta um disco virtual e varre por dentro. Ele não quebra senhas.
| Formato | Credenciais aceitas |
|---|---|
| BitLocker | Senha, chave de recuperação (8 grupos de 6 dígitos), arquivo `.BEK`, chave limpa |
| LUKS1 e LUKS2 | Senha, arquivo de chave, chave do volume |
| FileVault 2 (Core Storage) | Senha, chave de recuperação, chave do volume |
As senhas **nunca** vão para o arquivo de sessão. Com `--remember-keys` a sessão guarda a chave do volume já derivada, não a senha. No terminal, prefira `--ask-password` ou a variável `GUARA_PASSWORD` a `--password`, que fica no histórico do shell.
## RAID e LVM
| Item | Suporte |
|---|---|
| RAID 0, 1, 4, 5, 6, 10 e linear a partir de superblocos do mdadm | ✅ inclusive degradado (use `-` em `--member` para um disco ausente) |
| RAID sem metadados | ✅ `--raid` descobre nível, faixa, layout e ordem; `--raid-level`, `--raid-chunk-kb`, `--raid-layout` e `--raid-order` fixam o que você já sabe |
| LVM2 | ✅ linear, em faixas, espelhado e RAID |
| Storage Spaces | ❌ |
## Imagens forenses
| Formato | Ler | Gravar |
|---|---|---|
| Bruta (dd, `.img`) | ✅ | ✅ com mapa de erros de setores ruins |
| E01 e Ex01 (Expert Witness) | ✅ | ✅ com metadados do caso e segmentação |
| AFF4 | ✅ | ✅ |
`guara verify` recalcula o MD5 de uma imagem E01 ou Ex01 e compara com o gravado nela.
## Carving: formatos reconhecidos pela estrutura
Os detectores leem cabeçalhos, blocos e tamanhos internos para devolver o **tamanho exato** e uma **confiança**, em vez de cortar em um número fixo de bytes.
| Família | Formatos |
|---|---|
| Imagem | JPEG, PNG, GIF, BMP, TIFF, ICO, HEIC, WebP |
| Documento | PDF, DOC/XLS/PPT (OLE), DOCX/XLSX/PPTX/ODF/EPUB (ZIP), RTF |
| Vídeo e áudio | MP4/MOV, AVI, WAV, MP3, Matroska/WebM, Ogg, MPEG-TS, FLV, ASF/WMV, MIDI |
| Compactado | ZIP, 7z, RAR, gzip, zstd, ar |
| Banco e sistema | SQLite, registro do Windows (regf), EVTX, PST, pcap/pcapng, EXE/DLL (PE), ELF, SWF |
### Arquivos fragmentados
- **JPEG:** remontado a partir de até três fragmentos (`jpegscan.rs`, `defrag.rs`).
- **MP4/MOV sem índice (`moov`):** o índice é refeito a partir de um vídeo íntegro da **mesma câmera ou drone**, passado com `--reference`. Funciona com H.264 e HEVC. O áudio não é reconstruído.
- Os demais formatos só saem inteiros se estiverem contíguos; do contrário saem truncados com confiança baixa.
## Metadados e pré-visualização
| Tipo | O que é lido |
|---|---|
| Fotos | EXIF: câmera, lente, número de série, data, GPS |
| PDF | Autor, programa, datas |
| Office e OpenDocument | Autor, última modificação por, empresa |
| MP4/MOV | Data de gravação, duração, resolução |
| SQLite | Esquema, tabelas, blobs, datas, linhas apagadas do espaço livre das páginas |
A pré-visualização é lida direto do disco, sem gravar nada: imagem, vídeo, áudio, PDF, texto, Office, ZIP e hexadecimal.
## Plataformas
| | CLI | Interface | Testes com imagens reais |
|---|---|---|---|
| Linux | ✅ | ✅ AppImage e deb | ✅ |
| Windows | ✅ | ✅ msi e exe | só compilação e testes sintéticos |
| macOS | ✅ | ✅ dmg | só compilação e testes sintéticos |
## O que o Guará não faz
- Recuperar dados **sobrescritos**. Em SSD com TRIM o próprio disco pode zerar blocos apagados.
- Desbloquear celulares ou contornar senhas e travas de segurança.
- Substituir uma ferramenta de extração de dispositivos móveis.
- Produzir laudo com validade pericial por si só: ainda não passou por validação externa (NIST CFTT). Veja o [ROADMAP](../ROADMAP.md).