Ferramenta para salvar um intervalo de clusters de disco em um arquivo

3

Ontem eu apaguei um arquivo (fragmentado) apenas para descobrir que ele não foi extraído corretamente, então fiquei perdido. Felizmente não havia muito espaço livre na unidade, então a maior parte do espaço marcado como livre era do arquivo agora excluído. Eu peguei um editor de disco e - dolorosamente - gerenciado para obter uma lista de intervalos de cluster do FAT que foram marcados como não utilizados. Minha tarefa, então, era salvar esses intervalos de clusters em arquivos para que eu pudesse examiná-los para tentar determinar quais partes eram do arquivo morto e recombiná-las para tentar restaurar o arquivo excluído.

Isso se tornou uma grande dor no bumbum porque o editor de disco não tinha a capacidade de selecionar um intervalo de clusters, então eu tive que navegar para o início de cada cluster e segurar Ctrl + Deslocou + PgDn até que eu cheguei ao final do intervalo (o que geralmente demorou para sempre!)

Eu fiz uma pesquisa rápida no Google para ver se conseguia encontrar uma ferramenta de linha de comando (preferencialmente com versões DOS e do Windows) que me permitisse emitir comandos como:

SAVESECT -c 0xBEEF 0xCAFE FOO.BAR ::save clusters 0xBEEF-0xCAFE to FOO.BAR
SAVESECT -s 1111 9876 BAZ.BIN ::save sectors 1111-9876 to BAZ.BIN

Infelizmente minha busca apareceu vazia.

Alguma ideia?


Obrigado!

    
por Synetech 27.02.2010 / 16:33

2 respostas

1

Você diz que prefere uma ferramenta (aplicativo) executada no Windows.

Bem, há um ótimo software Forensics que funciona (melhor) em sistemas semelhantes ao Unix, chamado de Sleuth Kit (TSK). É uma coleção / suíte de aplicativos. Em particular, um desses aplicativos é chamado blkls .

Tente:

blkls /dev/sda1 1200-1250 1>> /media/usbdrive/<file>

Onde <file> é onde você deseja salvar os dados brutos.

Nesse exemplo hipotético, os setores / blocos #s 1200 a 1250 serão copiados da partição / volume que é mapeado (pelo sistema * nix) para /dev/sda1 para o arquivo de saída / destino de sua escolha (em um volume montado de, digamos, uma unidade USB removível). É recomendável que o destino / destino seja um dispositivo físico diferente da origem dos dados.

Uma distribuição Linux ao vivo especializada em Debian chamada grml pode ser baixada gratuitamente. Já tem a versão mais recente do TheSleuthKit já instalada. Você pode baixar a imagem .iso (usando BitTorrent ou qualquer cliente HTTP regular (como um navegador da Web)) e gravá-la em um CD-R e depois inicializar seu computador a partir do CD-R.

Quando o sistema é inicializado em grml, você pode abrir uma janela do Terminal e usar o Kit Sleuth.

Se você inicializar seu computador com Windows em uma distribuição Linux ao vivo, seu disco rígido interno, que presumivelmente tem seu sistema operacional Windows instalado, será mapeado para um "arquivo" virtual no sistema de arquivos Linux chamado /dev/sda . / p>

O disco rígido interno será mapeado para 'a' e quaisquer dispositivos adicionais de armazenamento (bloco) que o sistema operacional encontrar serão mapeados para letras subseqüentes no alfabeto, por exemplo, /dev/sdb , /dev/sdc , etc.

Cada partição no dispositivo de armazenamento é mapeada para um número que é anexado ao nome do dispositivo na pasta /dev/ (device).

Se o seu disco rígido interno tiver o Windows instalado na primeira partição (ou seja, um volume NTFS reside dentro dos limites da primeira partição naquela unidade de disco rígido, ele será mapeado pelo SO * nix para /dev/sda1 ou se estiver na segunda partição de /dev/sda então seria /dev/sda2 .

Verifique como o sistema operacional * nix mapeou os arquivos /dev/ usando

fdisk -l /dev/sd*

ou

blkid /dev/sd*

Sabendo em qual mapeamento de partição o SO no qual o SleuthKit está executando o volume de origem do qual você está tentando extrair dados está mapeado para permitir que você use as ferramentas úteis do The Sleuth Kit.

    
por 10.03.2012 / 15:35
0

dd (para Win32) deve permitir que você faça exatamente o que precisa.

    
por 15.08.2010 / 01:54

Tags