encontra arquivos binários no windows

5

Existe alguma maneira de procurar arquivos executáveis no Windows quando ele foi renomeado? Digamos que um arquivo .exe tenha sido renomeado para uma extensão .txt ou .jpeg.

    
por crudedude 25.10.2009 / 19:07

4 respostas

7

Você pode usar o utilitário Unix file , que pode informar o que um arquivo é baseado em seu conteúdo. Você precisará do ambiente Cygwin ou de um pacote win32-port como GnuWin32 ou UnxUtils .

Veja como o file funciona:

# previously, e.exe was renamed to e.jpg
$ file e.jpg
e.jpg: MS-DOS executable PE  for MS Windows (console) Intel 80386 32-bit

Obviamente, você precisa dar a file um nome de arquivo (ou uma lista de nomes de arquivos) como argumento (s). Você poderia fazer isso com find se você sabe aproximadamente onde o arquivo deve estar, usando find e um nome de pasta:

$ find <foldername> -type f -print0 | xargs -0 file

Se você combinar isso com grep , poderá remover os não executáveis:

$ find e-0.02718 -type f -print0 | xargs -0 file | grep executable
e-0.02718/e.jpg:          MS-DOS executable PE  for MS Windows (console) Intel 80386 32-bit
e-0.02718/e.linux:        ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), stripped
e-0.02718/e.sun4u56:      ELF 32-bit MSB executable, SPARC, version 1 (SYSV), dynamically linked (uses shared libs), stripped
e-0.02718/EXAMPLES:       Bourne shell script text executable
e-0.02718/makefile:       script text executable for make -f
O

Cygwin e o GnuWin32 fornecem os comandos file e find (por meio dos pacotes file e findutils ).

UnxUtils inclui find , mas não consigo verificar se o comando file está incluído. O pacote não parece ser mantido, então o GnuWin32 é provavelmente uma opção melhor.

    
por 25.10.2009 / 19:28
0

Se eu entendi você bem, não.

você ainda pode pesquisar o nome do arquivo ...

BTW: por que você possivelmente alteraria a extensão de um EXE para txt, jpeg ou mais? Não há vantagem disso e vai levar em uma questão de texto para um monte de caracteres inutilizáveis e jpeg para um 'não pode abrir'.

(eu mudaria suas tags, usaria algo como 'exe' ou 'search'

    
por 25.10.2009 / 19:13
0

Eu apenas faria uma pesquisa usando uma porção específica suficiente dentro do arquivo de destino (que aparentemente é conhecido nesse caso); pode ser muito lento, dependendo da quantidade de dados a processar, mas teoricamente não mais do que qualquer solução que reconheceria especificamente arquivos EXE de acordo com seu conteúdo. Pode não funcionar com o Windows Explorer, porque a pesquisa dentro de arquivos só é possível para um intervalo limitado de extensões (por exemplo, tentei localizar uma parte específica do diálogo em arquivos de legendas SRT, mas não consegui encontrar uma correspondência; na verdade, um arquivo contendo a parte relevante).

    
por 26.07.2011 / 21:23
0

Você pode usar TrID para verificar o tipo real de arquivos e, opcionalmente, alterar suas extensões.

    
por 27.07.2012 / 05:32