O que é uma ferramenta para obter uma lista completa de diretórios / arquivos com informações detalhadas, incluindo hash (es)?

6

De vez em quando, faço um instantâneo completo das minhas unidades com um comando como o seguinte.

> for %i in (%drives_hd%) do @dir %i:\/s/a/o>>File_List.txt

Isso fornece informações detalhadas (caminho, nome do arquivo, data e tamanho) para todos os arquivos no meu sistema e é ótimo para manter as guias nos arquivos sem gastar muito espaço (~ 50MB para ~ 500.000 arquivos). O problema é que ele não contém hashes.

Obviamente, existem ferramentas de hashing de arquivo, mas elas não fornecem os outros detalhes, e não há nenhuma maneira prática de fazer o hash (es) separadamente e combiná-lo com as listagens de diretório.

Estou procurando uma ferramenta que possa criar um arquivo de texto com detalhes completos, como com o comando dir , mas também incluir hashes de arquivo (pelo menos CRC (32), MD5 e SHA1). Ele também deve estar bem escrito, de modo que ele só leia cada arquivo uma vez, não importa quantos hashes você solicite (por exemplo, não leia o arquivo inteiro uma vez para cada tipo de hash).

Eu prefiro um programa CLI, mas um GUI está bem, desde que possa ser executado a partir de um script.

Estou até mesmo aberto para as ferramentas do Linux (portas do Windows).

Eu não encontrei nada com o Google (embora esteja surpreso que uma ferramenta tão útil não seja mais comum), e considerei escrever essa ferramenta por mim mesmo, mas espero que algo já exista.

Para deixar claro o que estou procurando, veja as saídas abaixo.

Padrão dir output:

 Volume in drive C is C-WINDOWSXP
 Volume Serial Number is 1234-5678

 Directory of C:\

2007.07.05  04:05p    <DIR>          Documents and Settings
2011.05.04  07:38p    <DIR>          Program Files
2010.04.02  11:35p    <DIR>          WINDOWS
2011.10.09  10:45p               454 BOOT.INI
2002.08.28  10:08p            47,580 NTDETECT.COM
2002.08.29  02:05a           233,632 NTLDR
               3 File(s)      281,666 bytes

 Directory of C:\Documents and Settings

2003.11.12  03:08p    <DIR>          .
2003.11.12  03:08p    <DIR>          ..
2007.07.05  10:36p    <DIR>          Administrator
2007.07.05  04:21p    <DIR>          All Users
               0 File(s)              0 bytes

 Directory of C:\Documents and Settings\All Users

2003.11.12  03:08p    <DIR>          .
2003.11.12  03:08p    <DIR>          ..
2007.07.05  04:23p    <DIR>          Application Data
2011.06.23  03:23p    <DIR>          Documents
2011.01.09  12:56p           262,144 ntuser.dat
               1 File(s)      262,144 bytes

...

Saída desejada:

 Volume in drive C is C-WINDOWSXP
 Volume Serial Number is 1234-5678

 Directory of C:\

2007.07.05  04:05p    <DIR>          Documents and Settings
2011.05.04  07:38p    <DIR>          Program Files
2010.04.02  11:35p    <DIR>          WINDOWS
2011.10.09  10:45p               454 BOOT.INI                 d1183b26 fad47d7d255e1189dbef3003fba96868 39c9bbe3edad58a5bd091ea1db8f9b6cf03f9566
2002.08.28  10:08p            47,580 NTDETECT.COM             a709deed 28a3ac957be5d239a3dd4f3d4cdbf3b8 f5625a158d92478c814df3b33a9ad5fcd5f8a956
2002.08.29  02:05a           233,632 NTLDR                    0d7e47bd 9896e483e211b8cd1fa7bb32572f02ec c57426135d0419985681a674149c88e652c8ec63
               3 File(s)      281,666 bytes
               3 Dir(s)

 Directory of C:\Documents and Settings

2003.11.12  03:08p    <DIR>          .
2003.11.12  03:08p    <DIR>          ..
2007.07.05  10:36p    <DIR>          Administrator
2007.07.05  04:21p    <DIR>          All Users
               0 File(s)              0 bytes
               2 Dir(s)

 Directory of C:\Documents and Settings\All Users

2003.11.12  03:08p    <DIR>          .
2003.11.12  03:08p    <DIR>          ..
2007.07.05  04:23p    <DIR>          Application Data
2011.06.23  03:23p    <DIR>          Documents
2011.01.09  12:56p           262,144 ntuser.dat               fc3d370a b3ea06755f614e2c18fc1de875b60126 8264549330d9dbef494264227be9fadffe653556
               1 File(s)      262,144 bytes
               2 Dir(s)
    
por Synetech 26.12.2011 / 01:19

3 respostas

2

WinHasher :

WinHasher is a free, Open Source cryptographic hash or digest generator written in C# using Microsoft's .NET 2.0 Framework. It can be used to verify file download integrity, compare two or more files for modifications, and to some degree generate strong, unique passwords.

Gerador de Hash da Linha de Comando :

cmdhashgen is a Command Line Utility that can be used to generate various hashes for a given String or File.

Supported Hashes are CRC32, MD5, SHA-1, SHA-256, SHA-384 and SHA-512.

O WinHasher possui utilitários de linha de comando, incluindo "Hash", que podem ser vinculados a um arquivo ou script em lotes. Parece o mais estável dos dois pacotes.

Usage: hash [-md5|-sha1|-sha256|-sha384|-sha512|-ripemd160|-whirlpool|
       -tiger] [-base64|-hexcaps|-bubbab] filename1 [filename2 ...]

WinHasher is a command-line cryptographic hash generator for files.  It
runs in one of two modes:  single file hashing and multi-file comparison.

In single file mode, WinHasher computes the cryptographic hash of the
given file and prints it to the screen.  With no command-line switches,
it computes the SHA-1 hash and displays it in hexadecimal format.  Various
switches allow you to change to other hashing algorithms, such as MD5,
the SHA family, RIPEMD-160, Whirlpool, and Tiger.  The "-base64" switch
causes WinHasher to output hashes in MIME Base64 (RFC 2045) format rather
than hexadecimal, "-hexcaps" outputs hexadecimal with all capital letters,
and "-bubbab" uses Bubble Babble encoding.
    
por 26.12.2011 / 03:10
1

Uma possibilidade é NirSoft HashMyFiles .

Isso inclui uma GUI que pode pesquisar uma pasta (e subpastas) por arquivos e calcular vários hashes de todos os arquivos que encontrar. A saída exibida pode ser copiada para a área de transferência como uma lista simples de itens (um arquivo por linha, espaços separando campos) ou como um relatório HTML.

O programa também pode ser chamado a partir da linha de comando, com várias opções para o hash e como formatar os resultados. Vários formatos de texto, incluindo CSV, dois formatos html e um formato xml estão disponíveis.

Infelizmente, não vejo opções de linha de comando para classificar os resultados - a ordem parece ser a ordem em que os arquivos foram encontrados durante a travessia, o que pode parecer acidentalmente classificado pelo nome completo do caminho, mas você não posso supor isso. No entanto, você pode classificar clicando em um cabeçalho de coluna na GUI normalmente, e isso parece afetar o que você obtém se copiar para a área de transferência.

Para uso de linha de comando, eu acho que você sempre pode usar um utilitário ou script separado para fazer qualquer classificação que você precisa. Com a opção de saída XML, pode até ser uma desculpa para aprender alguns XSLT básicos.

Em qualquer caso, isso está mais próximo de dir /s/b do que a dir /s , mas isso pode resolver o seu problema (se você ainda o tiver).

    
por 18.06.2012 / 03:30
1

link

Possui todos os recursos acima (veja a aba 'Recursive Hash'), além de multi-plataforma e open-source e atualmente mantida, v2.1 lançada há algumas semanas. Usa MD5, SHA1, SHA256 ou SHA512.

    
por 19.07.2013 / 13:21