Connaissant l'Adresse d'une Fonction dans une DLL, comment récupérer son nom (ou son ordinal) et le nom de la DLL à laquelle elle appartient?
Connaissant l'Adresse d'une Fonction dans une DLL, comment récupérer son nom (ou son ordinal) et le nom de la DLL à laquelle elle appartient?
Bonjour,
On peut trouver les ordinaux et noms des fonctions dans la table d'export de la dll (voir ici). Dans la table d'import du programme (voir même lien), on a les noms des dll et adresses des fonctions.
Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
. Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !
sans doute la solution ici : https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
Merci pour vos réponses.
Pourrais-je avoir un exemple (j’utilise Delphi7) de l’utilisation de la fonction SymFromAddr dans Dbghelp.dll.
J'ai toujours une erreur :ERROR_ACCESS_DENIED.
Bonjour,
As-tu encadré ton appel à SymFromAddr par un SymInitialize et un SymCleanup ?
Si l'erreur persiste malgré l'initialisation, c'est pê un problème de droits, à explorer.
Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
. Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !
Bonjour,
Je n'avais pas encadré avec un SymInitialize et un SymCleanup.
Maintenant ça marche un peu mieux.
Mais SymFromAddr me renvoie l'erreur 126:ERROR_MOD_NOT_FOUND
Dans SymInitialize que je mette le chemin de l'application ou de la DLL ou rien c'est pareil.
Pourtant la dll est bien là, et la fonction existe , j' extrait son adresse avec GetProcAdress.
J'ai encore du oublié quelque chose...
Partager