2010-08-09 4 views
0

Quelqu'un peut-il me dire comment puis-je obtenir la déclaration de la fonction je veux dire le nom de la fonction du fichier DLL VC++.Comment obtenir le nom de la fonction (déclaration de fonction) du fichier VC++ .dll?

J'ai .dll de VC++ et je veux extraire le nom de la fonction? Est-ce possible alors faites le moi savoir.

Merci à l'avance

Merci, Neel

+0

La DLL a-t-elle été créée avec des informations de débogage? –

+0

Aucune DLL n'a été créée avec les informations de débogage. –

Répondre

0

Depuis la DLL ne se construit pas avec les informations de débogage, vous ne pouvez regarder les fonctions qui sont exportées par la DLL. Utilisez "Dependency Walker" pour voir quelles fonctions sont exportées par la DLL. Vous verrez 2 types de fonctions.

Si le nom de la fonction n'est pas tronqué (comme toutes les fonctions des DLL Windows), vous n'avez pas de chance. Il n'y a (pour autant que je sache) aucun moyen d'obtenir les arguments de ces fonctions (sauf chercher dans la documentation ou dans les fichiers include qui pourraient être livrés avec la DLL).

Si le nom de la fonction est altéré, son nom sera le suivant:? MakeSizePositive @? $ RectangleTemplate @ J @ TOOLS @@ QAEXXZ. Cette méthode s'appelait à l'origine makeSizePositive, et tous les charabia ajoutés à celle-ci donnent un indice sur la classe où se trouve la méthode, l'espace de noms et les arguments. Voir http://www.kegel.com/mangle.html#operators à propos d'une explication.

+0

des façons que je peux voir le seul nom de fonction sans argument qui est utilisé par les fonctions? –

+0

Je ne pense pas. Vous pouvez soit voir le nom de la fonction mutilé avec une indication sur tous les arguments (y compris s'il n'y a aucun argument), ou le nom de la fonction démêlée sans aucune information. – Patrick

Questions connexes