> > Petite question... Si je redéfinit la fonction open(), comment je fais
> > pour appeler la vraie? Le seul truc que je vois, c'est faire un dlopen de
> > libc, puis un dlsym sur open. Y'a pas plus propre? Je veux dire qu'il
> > n'est pas possible de redéfinir 2 fois les mêmes fonctions à coup de
> > LD_PRELOAD?
>
> Sur Solaris au moins, voir man dlsym, chercher RTLD_NEXT.
petite question supplémentaire.
Comment on sait si on tombe sur le bon symbole ?
les bibliothèques sont placées dans quel ordre par RTLD_NEXT ?
--
DINH V. Hoa,
"écrire 'dsl' au lieu de 'désolé', c'est pas un problème d'orthographe,
c'est un problème de capillarité palmaire" -- ed
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
Stephane Chazelas
2003/10/29, 14:53(+01), DINH Viêt Hoà: [...]
Petite question... Si je redéfinit la fonction open(), comment je fais pour appeler la vraie? Le seul truc que je vois, c'est faire un dlopen de libc, puis un dlsym sur open. Y'a pas plus propre? Je veux dire qu'il n'est pas possible de redéfinir 2 fois les mêmes fonctions à coup de LD_PRELOAD?
Petite question... Si je redéfinit la fonction open(), comment je fais
pour appeler la vraie? Le seul truc que je vois, c'est faire un dlopen de
libc, puis un dlsym sur open. Y'a pas plus propre? Je veux dire qu'il
n'est pas possible de redéfinir 2 fois les mêmes fonctions à coup de
LD_PRELOAD?
Petite question... Si je redéfinit la fonction open(), comment je fais pour appeler la vraie? Le seul truc que je vois, c'est faire un dlopen de libc, puis un dlsym sur open. Y'a pas plus propre? Je veux dire qu'il n'est pas possible de redéfinir 2 fois les mêmes fonctions à coup de LD_PRELOAD?
Petite question... Si je redéfinit la fonction open(), comment je fais pour appeler la vraie? Le seul truc que je vois, c'est faire un dlopen de libc, puis un dlsym sur open. Y'a pas plus propre? Je veux dire qu'il n'est pas possible de redéfinir 2 fois les mêmes fonctions à coup de LD_PRELOAD?
d'un côté, c'est en dur à coup de dlopen() direct de la libc et de l'aitre c'est un RTLD_NEXT qui semble encore un peu vague à mes yeux.
-- DINH V. Hoa,
"écrire 'dsl' au lieu de 'désolé', c'est pas un problème d'orthographe, c'est un problème de capillarité palmaire" -- ed
2003/10/29, 14:53(+01), DINH Viêt Hoà:
[...]
Petite question... Si je redéfinit la fonction open(), comment je fais
pour appeler la vraie? Le seul truc que je vois, c'est faire un dlopen de
libc, puis un dlsym sur open. Y'a pas plus propre? Je veux dire qu'il
n'est pas possible de redéfinir 2 fois les mêmes fonctions à coup de
LD_PRELOAD?
Petite question... Si je redéfinit la fonction open(), comment je fais pour appeler la vraie? Le seul truc que je vois, c'est faire un dlopen de libc, puis un dlsym sur open. Y'a pas plus propre? Je veux dire qu'il n'est pas possible de redéfinir 2 fois les mêmes fonctions à coup de LD_PRELOAD?