2010-08-07 3 views
1

Comme l'indique la question, j'ai une adresse de fonction et je veux analyser mon binaire pour trouver son nom de fonction. Y a-t-il un outil pour le faire? J'ai à la fois des binaires et des symboles.Obtenir le nom de la fonction à partir de l'adresse de la fonction

+0

Quel compilateur avez-vous utilisé? –

+0

Que voulez-vous dire? Voulez-vous dire que vous avez à la fois le fichier objet binaire assemblé et la table des symboles et que vous voulez trouver le nom d'une fonction à partir de son adresse virtuelle dans la table des symboles? Je suis sûr que c'est impossible. Bien que, je suppose que cela dépend du compilateur que vous avez utilisé, et s'il choisit de garder ces données. –

Répondre

1

Sous Windows en code natif, vous pouvez utiliser SymFromAddr dans la bibliothèque dbghelp pour connaître le nom du symbole. Cela vous oblige à avoir des symboles de débogage pour le binaire. Si vous n'avez aucune information sur les symboles, vous ne pourrez pas trouver le nom de la fonction uniquement à partir du binaire lui-même.

Il est également possible qu'une adresse corresponde à plusieurs fonctions - si plusieurs fonctions sont compilées sur le même code machine, l'éditeur de liens peut les combiner en un seul morceau de code dans le binaire.

Questions connexes