56 votes

Commande Linux pour trouver des chaînes de caractères dans un fichier binaire ou non ascii

Existe-t-il une commande linux permettant d'extraire toutes les chaînes ascii d'un exécutable ou d'un autre fichier binaire ? Je suppose que je pourrais le faire avec un grep, mais je me souviens avoir entendu quelque part qu'une telle commande existait ?

94voto

drAlberT Points 10812

La commande que vous recherchez est la suivante strings

Son nom est assez explicite, il récupère n'importe quelle chaîne imprimable d'un fichier donné.

man strings donne :

CHAÎNES(1)

NOM
cordes - trouver les chaînes imprimables dans un fichier objet ou autre fichier binaire

SYNOPSIS
strings [ - ] [ -a ] [ -o ] [ -t format ] [ -number ] [ -n number ] [--] [file ...]

20voto

Sun Points 176

T cordes La commande est la meilleure solution pour ce type de problèmes. Parfois, il faut aussi l'envoyer à grep .

Par exemple :

strings somebinaryfile | grep textuwanttofind

5voto

Vicent Marti Points 2942

La commande existe, elle s'appelle .... strings !

4voto

qeff Points 41

Le problème de l'utilisation des chaînes est que les éléments non imprimables qui les entourent ne sont pas visibles et qu'il faut faire attention à la longueur minimale de la chaîne.

Un problème d'utilisation

od -c FILEo    hexdump -C FILEest qu'une séquence peut être difficile à trouver si elle entoure une ligne.

Pour cela, j'aime beaucoup ZTreeWin fonctionnant dans Wine sous Linux - vous pouvez faire beaucoup de choses avec, mais la recherche dans n'importe quel fichier ou l'édition de binaires peut être particulièrement utile.

L'excellent paquetage ytree est disponible pour de nombreuses variantes de Linux et d'Unix et offre une bonne vue du vidage hexadécimal de n'importe quel fichier, mais il n'a pas la fonction de recherche de ZTreeWin (et de son prédécesseur en 16 bits, XTree).

3voto

Kyle Brandt Points 81077

La commande od permet d'effectuer cette opération :

od -c *filename*

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X