Utilisez dumpbin
qui vient avec Visual Studio C++ Express ou télécharger le package OpenWatcom C/C++ et là il y a un wdump
associé ...
Open Watcom Executable Image Dump Utility Version 1.8
Portions Copyright (c) 1984-2002 Sybase, Inc. All Rights Reserved.
Source code is available under the Sybase Open Watcom Public License.
See http://www.openwatcom.org/ for details.
Usage: wdump [-?abdefipqrsx] [-A] [-B] [-D] [-S]
is a DOS EXE file, a Windows or OS/2 executable or DLL,
a PharLap executable, NLM, a QNX executable,
an ELF executable, shared library or object file,
or a COFF object.
Edit: Vous ne pouvez pas extraire ces fonctions d'exportation directement par des moyens programmatiques, l'utilitaire ci-dessus affichera les adresses en utilisant le Commutateurs de ligne de commande, y compris l'affichage de l'adresse des fonctions d'exportation pour 'LoadLibrary', 'FreeLibrary'. Lorsqu'un appel à 'GetProcAddress' est utilisé, en interne, il effectue une recherche dans le répertoire d'exportation pour trouver l'adresse pertinente de la fonction exportée avant de renvoyer un pointeur de fonction pour cette fonction exportée.
Edit # 2: @UsMan: Vous pouvez vider les adresses des fonctions d'exportation, mais de trouver les signatures n'est pas facile que vous auriez besoin de démonter le fichier EXE est pertinent et de travailler les paramètres de la recherche à l'appel empiler. Autre que cela, si vous avez une DLL tierce, mais ne vient pas avec un fichier d'en-tête et un fichier lib, pour vous montrer les signatures de fonction ... vous n'avez pas beaucoup de chance sauf démonter le code ... Si vous êtes parler d'une version EXE ou DLL, il sera plus difficile que l'information de débogage aurait été dépouillé, chargeant dans le débogueur pour élaborer la pile, les appels utilisés et les paramètres qui seraient un point discutable. Pouvez-vous s'il vous plaît modifier votre question pour clarifier plus précisément sur quel est votre objectif car je me tire dans le pied et risquer de tomber en panne à la suite de votre dés-satisfaction de cette réponse .... est il un MFC, ATL, DLL, ce qui est l'EXE, DLL, etc ...
Je dépouille toutes les informations de débogage pour séparer le fichier PDB et mon projet compilé en mode "Release". – Usman
@Usman: En supposant que le fichier pdb est disponible, vous pouvez utiliser les fonctions de débogage de Windows (en particulier SymInitialize et compagnie) pour obtenir des données sur les fonctions (exportées ou non). –
Si vraiment est-il possible en présence de fichiers dbg, que nous puissions prendre toutes les adresses de fonctions et d'adresses win32 exe non exportées simples, alors dbghelp api aiderait à effectuer toutes ces opérations? Ce serait assez bien. – Usman