What ?

Salut,

Dans l’optique de développer un ensemble d’outils permettant de connaître la composition d’un binaire, nous envisageons d’utiliser une commande Unix what qui permet de retrouver une séquence de caractères dans un fichier (binaire ou pas).

Par exemple si toto.c comporte const static char[] what="@(#) toto.c"; on pourra retrouver le trace de toto.c dans n’importe quel exécutable généré à partir de toto.c.

Le seul problème, c’est la portabilité. Sur Aix et sur HP, nous n’avons aucun problème. Mais nous voudrions être sûr que l’on peut retrouver cette commande sur tous les Unix-like, et Linux aussi. Comme what ne fait pas partie des commandes Unix de base, c’est loin d’être évident.

Et comme ça n’est pas pratique de chercher what sur google, je voudrais savoir si vous avez du retour sur cette commande, déjà utilisé, ou connaissez un équivalent standard sur les Unix-like.

EDIT : la commande grep s’utilise avec des fichiers texte. what permet de retrouver les occurences d’une séquence (ici @(#)) et de retourner ce qui suit jusqu’au prochain caractère NULL. Il est envisageable de programmer soi-même ce petit utilitaire mais nous voudrions avoir plus de poids quand à notre solution en disant qu’elle s’appuie sur des standards.

Vu que je n’ai pas tout compris de ce que tu voulais, je vais sans doute dire une bêtise, mais la commande grep ne suffirait-elle pas (avec les options qui vont bien) ?

a mon avis grep et bien plus standard que what … parce que GNU NOT UNIX :stuck_out_tongue:

Koubiak

Euh, à en croire le man grep (j’avoue avoir regardé ça sur le net, vu que je n’ai pas de machine sur Linux ou Unix sous la main, par exemple ici), il y a une option –binary
Maintenant, vu ce que tu cherches à faire, un « simple » grep me semble un peu léger… Peut-être en combinant diverses commandes « standards ».

Je viens de tester grep --binary sur Aix et ça n’est pas une option reconnue.

EDIT: c’est pas dans le man, c’est pas reconnu en ligne de commande. Donc ça n’est pas un standard de grep.

et man grep ?

Koubiak

Edit de plus si tu veux toi meme crée un truc pour lire chercher des binaires tu peux avoir un grep avec …