Chaîne de table en ELF
- - Je obtenir un certain symbole, et j'ai l'hexedit d'un elfe de fichier. Comment puis-je savoir dans quelle section de ce symbole apparaît?
- Quelle est la différence entre
strtab
etshstrtab
? il y a aussi un tableau de symbole cordes?
Quand je reçois un index dans la table de noms, est-il l'indice dans strtab
ou shstrtab
?
OriginalL'auteur user1479376 | 2012-07-02
Vous devez vous connecter pour publier un commentaire.
Pour la première question, il nous faudrait le hexedit de l'elfe fichier à comprendre correctement.
Pour la deuxième question -
strtab est synonyme de Chaîne de Table
shstrtab représente la Section d'en-Tête de la table des chaînes.
Lorsque nous lisons en-tête ELF, nous voyons que chaque ElfHeader structure contient un membre appelé e_shstrndx. C'est un indice de la shstrtab. Si vous utilisez cet index, puis lire à partir de shstrtab vous pouvez trouver le nom de cette section.
strtab, est la chaîne de table pour toutes les autres références. Lorsque vous lisez des symboles à partir d'un ELFE objet, chaque Symbole structure (Elf32_Sym) a un membre appelé st_name. C'est un index dans strtab pour obtenir le nom de la chaîne de ce symbole.
Pouvez-vous veuillez donner plus de détails sur tableau de symbole cordes? Aussi, qu'entendez-vous par les noms de table?
Vous pouvez consulter le lien suivant -
La lecture ELFE de la Chaîne de Table sur Linux à partir de C
Espère que cela répond à votre question.
Désolé a été absent pendant quelques jours. Nom de la Section sont stockées dans .shstrtab. Par toutes les autres références, je veux dire les symboles qui sont stockées dans des Blocs de matrice
OriginalL'auteur Samir Baid