Existe algum utilitário para comparar o conteúdo do arquivo com a extensão?

3

Estou procurando um utilitário (para Linux ou Windows) que possa verificar se o conteúdo do arquivo parece corresponder à extensão. Isto é para capturar arquivos corrompidos.

Estou prestes a escrever um pequeno script bash que apenas executa "file" em tudo, mas não quero descobrir o que "file" retorna para todos os tipos de arquivos formatados corretamente Eu vou encontrar.

Antecedentes: Recentemente, um amigo apagou acidentalmente a pasta de usuário do Windows (yup ... Área de trabalho, registro, Meus documentos, tudo isso ...). Eu usei um utilitário unerase agressivo para recuperar o máximo que pude. Esse utilitário específico recupera várias cópias do mesmo arquivo por algum motivo (por exemplo, "Carta.doc", "Carta (1) .doc", "Carta (2) .doc", etc ...). Alguns desses arquivos conterão lixo aleatório, alguns serão documentos válidos e um deles poderá ser o mesmo documento .

Então, eu usei fdupes e um script perl para nuke todas as duplicatas, mas agora eu quero separar os que parecem ser o arquivo original daqueles que provavelmente não são. Eu não posso acreditar que sou a primeira pessoa que precisou fazer isso ...

    
por Jemenake 17.08.2011 / 15:49

2 respostas

1

Você pode experimentar o programa TrIDNet (há também um CLI e uma versão on-line ). Ele identifica arquivos baseados em assinaturas binárias, com base em uma biblioteca interna (e extensível). Aqui está uma lista das extensões de arquivo que ele pode identificar por padrão, embora seja possível adicionar uma definição para um novo tipo manualmente.

Observe que, se a assinatura binária do arquivo for not intacta, o software não saberá que o arquivo está corrompido. É a implementação do aplicativo que usa o arquivo para verificar se há corrupção (já que não há como "apenas saber" se um arquivo está corrompido).

Esta é apenas a maneira como os arquivos funcionam, cabe ao programa que usa os arquivos binários para verificar se eles estão corrompidos ou não (alguns tipos de arquivo armazenam checksums dentro deles).

    
por 17.08.2011 / 16:13
0

Para aplicativos de escritório, há uma opção Abrir e reparar ... na caixa de diálogo aberta.

Para imagens, o IrfanView pode reconstruir cabeçalhos de arquivos.

Para vídeos, o VLC Player fará o mesmo.

Como EBGreen disse acima, porém, é altamente diferente de haver um produto no nível do consumidor que realmente fará isso para muitos tipos de arquivos, sem falar em todos os tipos de arquivos.

    
por 17.08.2011 / 16:15