bonjour,
est-ce qu'il existe un programme permettant de savoir à partie d'un
executable ELF quels sont les fichiers/scripts appeles par cet executable?
merci d'avance pour vos reponses
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Basile Starynkevitch [news]
On 2004-09-16, jmv wrote:
est-ce qu'il existe un programme permettant de savoir à partie d'un executable ELF quels sont les fichiers/scripts appeles par cet executable? merci d'avance pour vos reponses
En toute généralité, c'est un problème indécidable (car le nom de fichier peut être dynamiquement construit, et on se ramène à vouloir décrire l'ensemble des resultats possibles d'une fonction).
En pratique, la commande strings donne de bons résultats, car elle donne l'ensemble des chaînes constantes d'un fichier ELF (ou même d'un fichier binaire quelconque).
-- Basile STARYNKEVITCH http://starynkevitch.net/Basile/ email: basile<at>starynkevitch<dot>net aliases: basile<at>tunes<dot>org = bstarynk<at>nerim<dot>net 8, rue de la Faïencerie, 92340 Bourg La Reine, France
On 2004-09-16, jmv <jm.vestier@wanadoo.fr> wrote:
est-ce qu'il existe un programme permettant de savoir à partie d'un
executable ELF quels sont les fichiers/scripts appeles par cet
executable? merci d'avance pour vos reponses
En toute généralité, c'est un problème indécidable (car le nom de
fichier peut être dynamiquement construit, et on se ramène à vouloir
décrire l'ensemble des resultats possibles d'une fonction).
En pratique, la commande strings donne de bons résultats, car elle
donne l'ensemble des chaînes constantes d'un fichier ELF (ou même d'un
fichier binaire quelconque).
--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
email: basile<at>starynkevitch<dot>net
aliases: basile<at>tunes<dot>org = bstarynk<at>nerim<dot>net
8, rue de la Faïencerie, 92340 Bourg La Reine, France
est-ce qu'il existe un programme permettant de savoir à partie d'un executable ELF quels sont les fichiers/scripts appeles par cet executable? merci d'avance pour vos reponses
En toute généralité, c'est un problème indécidable (car le nom de fichier peut être dynamiquement construit, et on se ramène à vouloir décrire l'ensemble des resultats possibles d'une fonction).
En pratique, la commande strings donne de bons résultats, car elle donne l'ensemble des chaînes constantes d'un fichier ELF (ou même d'un fichier binaire quelconque).
-- Basile STARYNKEVITCH http://starynkevitch.net/Basile/ email: basile<at>starynkevitch<dot>net aliases: basile<at>tunes<dot>org = bstarynk<at>nerim<dot>net 8, rue de la Faïencerie, 92340 Bourg La Reine, France
Nicolas George
"Basile Starynkevitch [news]" wrote in message :
En pratique, la commande strings donne de bons résultats, car elle donne l'ensemble des chaînes constantes d'un fichier ELF (ou même d'un fichier binaire quelconque).
On peut utiliser également la commande strace, avec les bonnes options :
strace -e open,access,stat programme
donne les fichiers ouverts (ou simplement testés) directement ; -f pour avoir aussi les fichiers ouverts par des processus fils, et ajouter execve à la liste pour avoir la ligne de commande qui appelle les processus fils.
"Basile Starynkevitch [news]" wrote in message
<slrnckjgn7.ja.basile-news@hector.lesours>:
En pratique, la commande strings donne de bons résultats, car elle
donne l'ensemble des chaînes constantes d'un fichier ELF (ou même d'un
fichier binaire quelconque).
On peut utiliser également la commande strace, avec les bonnes options :
strace -e open,access,stat programme
donne les fichiers ouverts (ou simplement testés) directement ; -f pour
avoir aussi les fichiers ouverts par des processus fils, et ajouter execve à
la liste pour avoir la ligne de commande qui appelle les processus fils.
En pratique, la commande strings donne de bons résultats, car elle donne l'ensemble des chaînes constantes d'un fichier ELF (ou même d'un fichier binaire quelconque).
On peut utiliser également la commande strace, avec les bonnes options :
strace -e open,access,stat programme
donne les fichiers ouverts (ou simplement testés) directement ; -f pour avoir aussi les fichiers ouverts par des processus fils, et ajouter execve à la liste pour avoir la ligne de commande qui appelle les processus fils.
jmv
merci beaucoup à tous les deux pour vos reponses en utilisant strace j'obtiens des lignes telles que:
open("/dev/usb/scanner0", O_RDWR) = -1 ENODEV (No such device)
or j'ai bien dans /dev/usb une entree scanner0 avec majeur/mineur 180 48 et les permission rw pour tout le monde
est-ce que quelqu'un pourrait m'expliquer? merci d'avance.
merci beaucoup à tous les deux pour vos reponses
en utilisant strace j'obtiens des lignes telles que:
open("/dev/usb/scanner0", O_RDWR) = -1 ENODEV (No such device)
or j'ai bien dans /dev/usb une entree scanner0 avec majeur/mineur 180 48
et les permission rw pour tout le monde
est-ce que quelqu'un pourrait m'expliquer?
merci d'avance.
merci beaucoup à tous les deux pour vos reponses en utilisant strace j'obtiens des lignes telles que:
open("/dev/usb/scanner0", O_RDWR) = -1 ENODEV (No such device)
or j'ai bien dans /dev/usb une entree scanner0 avec majeur/mineur 180 48 et les permission rw pour tout le monde
est-ce que quelqu'un pourrait m'expliquer? merci d'avance.
Nicolas George
jmv wrote in message <cicrid$5s1$:
merci beaucoup à tous les deux pour vos reponses en utilisant strace j'obtiens des lignes telles que:
open("/dev/usb/scanner0", O_RDWR) = -1 ENODEV (No such device)
or j'ai bien dans /dev/usb une entree scanner0 avec majeur/mineur 180 48 et les permission rw pour tout le monde
est-ce que quelqu'un pourrait m'expliquer?
C'est simple : si tu n'avais pas eu ce /dev/usb/scanner0, tu aurais eu « -1 ENOENT (No such file or directory) », et si tu n'avais pas eu le droit de l'ouvrir, « EACCES (Permission denied) ». « ENODEV », ça signifie que le ficheir existe, est un périphérique, que tu as le droit de l'ouvrir, mais que le noyau n'a pas de driver pour ce périphérique (et n'en trouve pas en essayant modprobe).
C'est quel programme, quelle version de ce programme, et quelle version du noyau ?
jmv wrote in message <cicrid$5s1$1@news-reader2.wanadoo.fr>:
merci beaucoup à tous les deux pour vos reponses
en utilisant strace j'obtiens des lignes telles que:
open("/dev/usb/scanner0", O_RDWR) = -1 ENODEV (No such device)
or j'ai bien dans /dev/usb une entree scanner0 avec majeur/mineur 180 48
et les permission rw pour tout le monde
est-ce que quelqu'un pourrait m'expliquer?
C'est simple : si tu n'avais pas eu ce /dev/usb/scanner0, tu aurais eu « -1
ENOENT (No such file or directory) », et si tu n'avais pas eu le droit de
l'ouvrir, « EACCES (Permission denied) ». « ENODEV », ça signifie que le
ficheir existe, est un périphérique, que tu as le droit de l'ouvrir, mais
que le noyau n'a pas de driver pour ce périphérique (et n'en trouve pas en
essayant modprobe).
C'est quel programme, quelle version de ce programme, et quelle version du
noyau ?
merci beaucoup à tous les deux pour vos reponses en utilisant strace j'obtiens des lignes telles que:
open("/dev/usb/scanner0", O_RDWR) = -1 ENODEV (No such device)
or j'ai bien dans /dev/usb une entree scanner0 avec majeur/mineur 180 48 et les permission rw pour tout le monde
est-ce que quelqu'un pourrait m'expliquer?
C'est simple : si tu n'avais pas eu ce /dev/usb/scanner0, tu aurais eu « -1 ENOENT (No such file or directory) », et si tu n'avais pas eu le droit de l'ouvrir, « EACCES (Permission denied) ». « ENODEV », ça signifie que le ficheir existe, est un périphérique, que tu as le droit de l'ouvrir, mais que le noyau n'a pas de driver pour ce périphérique (et n'en trouve pas en essayant modprobe).
C'est quel programme, quelle version de ce programme, et quelle version du noyau ?
jmv
C'est quel programme, quelle version de ce programme, et quelle version du noyau ?
merci, le programme, c'est scanimage 1.0.13 et le noyau est le 2.6 de la mdk 10.0 en fait, je cherche a faire remarcher mon scanner qui est un epson perfection 660 (en fait un snapscan agfa), je dis remarcher car il a fonctionné lors de l'install de la mdk10.0 sans que j'ai besoin de faire qqchose. mais l'ayant deplacé sur un autre pc, j'obtiens maintenant systematiquement le message d'erreur suivant:
erreur d'ouverture du peripherique: libusb:001:002: argument invalide
j'ai cru comprendre que lorsqu'on utilise libusb, il n'y a pas besoin de charger de module, est-ce que je me suis trompé? si oui, quel module dois-je charger et ou puis-je le trouver?
C'est quel programme, quelle version de ce programme, et quelle version du
noyau ?
merci,
le programme, c'est scanimage 1.0.13 et le noyau est le 2.6 de la mdk 10.0
en fait, je cherche a faire remarcher mon scanner qui est un epson
perfection 660 (en fait un snapscan agfa), je dis remarcher car il a
fonctionné lors de l'install de la mdk10.0 sans que j'ai besoin de faire
qqchose.
mais l'ayant deplacé sur un autre pc, j'obtiens maintenant
systematiquement le message d'erreur suivant:
erreur d'ouverture du peripherique: libusb:001:002: argument invalide
j'ai cru comprendre que lorsqu'on utilise libusb, il n'y a pas besoin de
charger de module, est-ce que je me suis trompé? si oui, quel module
dois-je charger et ou puis-je le trouver?
C'est quel programme, quelle version de ce programme, et quelle version du noyau ?
merci, le programme, c'est scanimage 1.0.13 et le noyau est le 2.6 de la mdk 10.0 en fait, je cherche a faire remarcher mon scanner qui est un epson perfection 660 (en fait un snapscan agfa), je dis remarcher car il a fonctionné lors de l'install de la mdk10.0 sans que j'ai besoin de faire qqchose. mais l'ayant deplacé sur un autre pc, j'obtiens maintenant systematiquement le message d'erreur suivant:
erreur d'ouverture du peripherique: libusb:001:002: argument invalide
j'ai cru comprendre que lorsqu'on utilise libusb, il n'y a pas besoin de charger de module, est-ce que je me suis trompé? si oui, quel module dois-je charger et ou puis-je le trouver?
Nicolas George
jmv wrote in message <cictnp$rta$:
le programme, c'est scanimage 1.0.13 et le noyau est le 2.6 de la mdk 10.0 en fait,
Je ne sais plus exactement à quelle version c'est arrivé, et d'ailleurs je ne sais pas quelle version utilise mandrake, mais le support des scaners USB a été retiré du noyau, pour céder la place à un driver totalement userland (ce qui est bien).
mais l'ayant deplacé sur un autre pc, j'obtiens maintenant systematiquement le message d'erreur suivant:
erreur d'ouverture du peripherique: libusb:001:002: argument invalide
Le strace a dû te montrer d'autres erreurs d'ouverture, non ? N'est-il pas question d'un /proc/bus/usb/* quelque part ? Quels sont les droits dans /proc/bus/usb/* ?
j'ai cru comprendre que lorsqu'on utilise libusb, il n'y a pas besoin de charger de module, est-ce que je me suis trompé? si oui, quel module dois-je charger et ou puis-je le trouver?
Oui, c'est bien ça.
jmv wrote in message <cictnp$rta$1@news-reader4.wanadoo.fr>:
le programme, c'est scanimage 1.0.13 et le noyau est le 2.6 de la mdk 10.0
en fait,
Je ne sais plus exactement à quelle version c'est arrivé, et d'ailleurs je
ne sais pas quelle version utilise mandrake, mais le support des scaners USB
a été retiré du noyau, pour céder la place à un driver totalement userland
(ce qui est bien).
mais l'ayant deplacé sur un autre pc, j'obtiens maintenant
systematiquement le message d'erreur suivant:
erreur d'ouverture du peripherique: libusb:001:002: argument invalide
Le strace a dû te montrer d'autres erreurs d'ouverture, non ? N'est-il pas
question d'un /proc/bus/usb/* quelque part ? Quels sont les droits dans
/proc/bus/usb/* ?
j'ai cru comprendre que lorsqu'on utilise libusb, il n'y a pas besoin de
charger de module, est-ce que je me suis trompé? si oui, quel module
dois-je charger et ou puis-je le trouver?
le programme, c'est scanimage 1.0.13 et le noyau est le 2.6 de la mdk 10.0 en fait,
Je ne sais plus exactement à quelle version c'est arrivé, et d'ailleurs je ne sais pas quelle version utilise mandrake, mais le support des scaners USB a été retiré du noyau, pour céder la place à un driver totalement userland (ce qui est bien).
mais l'ayant deplacé sur un autre pc, j'obtiens maintenant systematiquement le message d'erreur suivant:
erreur d'ouverture du peripherique: libusb:001:002: argument invalide
Le strace a dû te montrer d'autres erreurs d'ouverture, non ? N'est-il pas question d'un /proc/bus/usb/* quelque part ? Quels sont les droits dans /proc/bus/usb/* ?
j'ai cru comprendre que lorsqu'on utilise libusb, il n'y a pas besoin de charger de module, est-ce que je me suis trompé? si oui, quel module dois-je charger et ou puis-je le trouver?
Oui, c'est bien ça.
jmv
bonsoir,
- la derniere ligne du strace precedant l'apparition de la fenetre d'erreur est :
open("/dev/scanner", O_RDWR|O_NONBLOCK|O_EXCL) = -1 ENODEV (No such device)
ce qui me fait penser que le soft recherche un driver??
- les droits pour /proc/bus/usb/* sont rw pour tout le monde et strace donne la ligne:
open("/proc/bus/usb/001/002", O_RDWR) = 40
merci pour ton aide.
bonsoir,
- la derniere ligne du strace precedant l'apparition de la fenetre
d'erreur est :
open("/dev/scanner", O_RDWR|O_NONBLOCK|O_EXCL) = -1 ENODEV (No such device)
ce qui me fait penser que le soft recherche un driver??
- les droits pour /proc/bus/usb/* sont rw pour tout le monde et strace
donne la ligne: