IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Fonctionnement processus de linkage fichier .elf


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Par défaut Fonctionnement processus de linkage fichier .elf
    Bonjour,

    depuis quelques temps j'essaie de comprendre comment fonctionne le loader Linux. J'ai fais un petit schéma pour montrer ce que j'ai déjà trouvé :



    Est-ce que le schéma est correcte ? Quels détails ai-je omis/pas compris ?

    Est-ce que j'ai juste si je dis que l’interpréteur de lien (/lib/ld-uClibc.so.0 dans mon cas), sait vers quelle librairie il doit patcher le programme en regardant le string contenu dans la table .dynstr ? Dans le cas contraire comment le sait-il ?

    Merci de votre aide

    p.s. je parle bien du linkage des librairies dynamiques à l'exécution.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2008
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Août 2008
    Messages : 505
    Par défaut
    Je suis incapable de dire si ton dessin est juste ou faux, pour deux raisons;
    1. le sujet est quand même complexe
    2. on ne voit pas ton dessin, le lien est cassé


  3. #3
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Par défaut
    Oui je sais que le sujet est complexe, j'ai trouvé quelques documents dessus, mais rien de complet.

    Voila un lien directe pour le schéma.

    http://www.fileserve.com/file/9H9jp9n/linkage.jpg

  4. #4
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Par défaut
    Je pense avoir trouvé :

    Dans mon schéma il manque la .plt.got qui contient toutes les adresses à repositionner.

    Sinon la reconnaissance se fait via le nom de la fonction (d'après mes expérimentations). Ainsi le loader charge en premier les librairies needed (défini dans la section .dynamic) puis recherche les symboles via leur nom.

    La section .hash peut-être utilisé pour accélérer le processus, mais je n'ai pas creusé ce sujet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Processus bloquant un fichier
    Par KORTA dans le forum Windows XP
    Réponses: 8
    Dernier message: 04/09/2012, 12h55
  2. Créer un fichier ELF sans même GNU/ld
    Par Hibou57 dans le forum Administration système
    Réponses: 9
    Dernier message: 13/01/2007, 18h59
  3. Liste de processus utilisant un fichier
    Par ZIED dans le forum Delphi
    Réponses: 1
    Dernier message: 25/07/2006, 18h20
  4. interdire de tuer un processus & proteger des fichiers
    Par .:dev:. dans le forum Windows
    Réponses: 2
    Dernier message: 30/06/2006, 11h33
  5. Réponses: 4
    Dernier message: 03/04/2006, 08h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo