Eu tenho um monte de binários e sei que dentro desses binários existem strings que quero encontrar.
Eu quero fazer um:
grep -lir "the string I am looking for"
e obtenha uma lista de todos os binários dentro de um diretório específico que contém essa sequência, mas grep -lir
aparentemente não está funcionando com esses arquivos.
Existe um comando que pode fazer esse tipo de pesquisa no terminal?
ack
a auto-descrição? (no manual) "o ack 2.x pesquisará todos os arquivos regulares e não binários que não são explicitamente ignorados [por blah blah]" Portanto, parece que o ack 2.x ainda deve parar de ler um arquivo mais cedo se o conteúdo parecer binário.ack grep /bin/grep
e você obterá o resultado. Atualizei minha resposta para evitar confusões.O comando
strings
extrairá todos os dados ascii de um arquivo; se vocêgrep
produzir o resultado, poderá procurar seus dados:fonte
strings
, leia aqui para mais detalhes.strings -f
seria mais apropriado.Sua pergunta é sobre encontrar arquivos binários que contêm um padrão (e já temos respostas muito boas!). Complementar, podemos gostar das ocorrências.
Eu costumo usar
para obter um contexto envolvente de 20 caracteres.
fonte