md5deep não funciona com arquivos duplicados em diretórios diferentes

3

Eu quero usar o md5deep para verificar se alguns diretórios copiados foram copiados corretamente. Mas parece que o md5deep não usa os nomes de arquivos armazenados nos arquivos .md5 genearted ao combinar!

Isso realmente significa que, se eu copiar uma estrutura de diretório grande (com arquivos duplicados) e algo der errado, então um diretório contém arquivos (com nomes de arquivos corretos e conteúdo errado), então o md5deep NÃO encontrará isso como uma incompatibilidade!

EXEMPLO:

Imagine que tenhamos a seguinte estrutura de arquivos:

photos\public_photo1.jpg
photos\public_photo2.jpg
photos\private_photo1.jpg
photos\photos_my_mother_can_see\public_photo1.jpg
photos\photos_my_mother_can_see\public_photo2.jpg

Como você pode ver, duas das fotos são arquivos duplicados!

Agora imagine que meu utilitário de cópia falhou, para que o CONTEÚDO de public_photo1.jpg na verdade foi o conteúdo de private_photo1.jpg. A estrutura de diretórios ainda é a mesma!

Na minha unidade de origem, fiz o seguinte para gerar o arquivo MD5:

md5deep64 -rel c:\photos\*.* > result.md5

(Eu uso caminhos relativos!)

Depois eu correspondo os arquivos com a pasta de destino:

md5deep64 -X result.md5 -r c:\photosdest

Nenhuma alteração encontrada !!

Se eu fizer uma correspondência (md5deep64 -wm result.md5 -r c: \ photosdest), posso até ver como ele não usou os nomes dos arquivos para comparar:

c:\photosdest\photos_my_mother_can_see\public_photo1.jpg matched c:\photos\private_photo1.jpg
c:\photosdest\public_photo1.jpg matched c:\photos\photos_my_mother_can_see\public_photo1.jpg
c:\photosdest\public_photo2.jpg matched c:\photos\public_photo2.jpg
c:\photosdest\photos_my_mother_can_see\public_photo2.jpg matched c:\photos\public_photo2.jpg
c:\photosdest\private_photo1.jpg matched c:\photos\private_photo1.jpg

:-(

É um recurso ou um bug?

Existe alguma maneira que eu possa forçar o md5deep é comparar o MD5 de arquivos com o mesmo nome de arquivo e localização? ... ou devo começar a procurar por outro md5-generator / comparer?

SanSaurus
fonte

Respostas:

4

Este é um recurso do md5deep, não um bug. Parece que você quer usar o programa associado hashdeep. Esse programa vem com o md5deep.

O md5deep tinha como objetivo encontrar arquivos independentemente do nome do arquivo. Por exemplo, ao procurar pelo rootkit EVILEVIL.EXE, o usuário desejará encontrar qualquer arquivo com o mesmo hash que o EVILEVIL, mesmo que ele tenha sido renomeado como fuzzykitten.exe.

O programa hashdeep, por outro lado, pode fazer uma auditoria, que verifica o tamanho do arquivo, localização, e hash ao combinar.

Jesse Kornblum
fonte