Extraindo blocos de um instantâneo de VDI corrompido em ordem lógica

2

Eu tenho uma VM do Virtualbox em um disco rígido que falhou. A única coisa que consegui recuperar do disco foi um instantâneo do disco VDI dinâmico usado pela VM, e só consegui recuperar a primeira metade do arquivo. Ele ainda contém o cabeçalho VDI, o mapa de blocos VDI e uma boa quantidade de blocos.

Estou interessado apenas em recuperar alguns arquivos e, como estava trabalhando neles antes da falha, e eles eram menores que o tamanho de bloco VDI (1Mb), suspeito que os dados para eles estejam presentes no instantâneo. Eu posso, de fato, procurar por ele e encontrar partes dele, mas os blocos no instantâneo não são ordenados em ordem lógica.

Mas como não é um arquivo VDI completo, ferramentas como virtualbox-fuse ou libguestfs se recusam a trabalhar com ele, então tenho que escrever meu próprio script forense.

O que eu não entendo é como o mapa de blocos VDI funciona e como escrever um script que irá extrair os blocos que ainda estão presentes na parte do VDI que tenho e reescrevê-los em ordem lógica (talvez preenchendo os não alocados ou falta de espaço com um padrão de bytes facilmente reconhecível)

    
por nerochiaro 29.01.2014 / 17:58

0 respostas