Automatize a comparação de arquivos corrompidos

0

Após um infeliz análise do CHKDSK que corrompeu muitos arquivos em um disco rígido de 3 TB (erroneamente detectado como 746 GB, provavelmente por causa de um controlador USB2 ser incompatível com capacidades acima de 2 TB), eu gostaria de fazer uma comparação precisa desses arquivos (com suas contrapartes corretas em um HDD de backup) e extraia as áreas corrompidas para investigações adicionais, antes de excluí-las.
Até agora, eu continuei assim:

  • Abra as duas versões do arquivo no WinHex. Ative o "Sincronizar & Comparar a exibição.
  • Execute uma comparação no deslocamento 0, salve um relatório (obrigatório com este software, nenhuma maneira de encontrar diretamente a próxima diferença) com o nome do arquivo, especifique um limite de 10000 erros (para evitar relatórios muito grandes).
  • Uma vez que ele pára (tendo atingido o fim do arquivo ou o limite de 10000 bytes diferentes), abra o relatório TXT, copie o deslocamento da primeira diferença no menu "Ir para offset" do WinHex. Marque o primeiro erro (que está sempre em um limite do setor) como o começo de um bloco.
  • Pesquise o final da área corrompida rolando para baixo ou demorando muito, adicionando 1MB ou 100KB até que eu esteja fora e, em seguida, rolando para cima (não encontrei nenhuma maneira de tornar isso mais fácil no WinHex). Marque o final do último setor da área corrompida como o fim do bloco.
  • Extraia o bloco como um novo arquivo, com o padrão "Name_of_the_file [1111-2222]", em que "1111-2222" são os desvios de início.
  • Retomar a comparação no final da área corrompida anteriormente identificada, para procurar outras pessoas, até o final do arquivo ...

Agora, haveria uma maneira de automatizar esse processo meticuloso e demorado? Existem outros editores hexadecimais mais adequados para comparações de arquivos? Ou eu poderia usar um script para fazer isso de uma vez? Eu encontrei uma ferramenta de linha de comando pouco brilhante chamada dsfok (DS File Ops Kit) que pode extrair um bloco de dados entre dois valores de deslocamento (entre outras funções que ainda não testei). Então, eu precisaria de outra ferramenta de linha de comando para realizar a comparação e obter esses valores de deslocamento e dicas para escrever um script para fazer essas ferramentas funcionarem juntas. Obrigado.

    
por GabrielB 13.10.2017 / 08:00

0 respostas