93 votes

Existe-t-il un visualiseur de fonctions d'exportation de DLL natif?

Existe-t-il une visionneuse gratuite des fonctions d’exportation DLL Windows native, qui affiche le nom de la fonction et une liste de leurs paramètres?

Merci.

116voto

AndrewDover Points 241

dumpbin à partir de l'invite de commande Visual Studio:

C: \ Utilisateurs \ Andrew \ src2011 \ cryptographie \ cspsdk> dumpbin / exports csp.dll

Dumper Microsoft (R) COFF / PE Version 10.00.30319.01 Droits d'auteur (C) Microsoft Corporation. Tous les droits sont réservés.

Dump du fichier csp.dll

Type de fichier: DLL

La section contient les exportations suivantes pour CSP.dll

 00000000 characteristics
3B1D0B77 time date stamp Tue Jun 05 12:40:23 2001
    0.00 version
       1 ordinal base
      25 number of functions
      25 number of names

ordinal hint RVA      name

      1    0 00001470 CPAcquireContext
      2    1 000014B0 CPCreateHash
      3    2 00001520 CPDecrypt
      4    3 000014B0 CPDeriveKey
      5    4 00001590 CPDestroyHash
      6    5 00001590 CPDestroyKey
      7    6 00001560 CPEncrypt
      8    7 00001520 CPExportKey
      9    8 00001490 CPGenKey
     10    9 000015B0 CPGenRandom
     11    A 000014D0 CPGetHashParam
     12    B 000014D0 CPGetKeyParam
     13    C 00001500 CPGetProvParam
     14    D 000015C0 CPGetUserKey
     15    E 00001580 CPHashData
     16    F 000014F0 CPHashSessionKey
     17   10 00001540 CPImportKey
     18   11 00001590 CPReleaseContext
     19   12 00001580 CPSetHashParam
     20   13 00001580 CPSetKeyParam
     21   14 000014F0 CPSetProvParam
     22   15 00001520 CPSignHash
     23   16 000015A0 CPVerifySignature
     24   17 00001060 DllRegisterServer
     25   18 00001000 DllUnregisterServer
 

Résumé

     1000 .data
    1000 .rdata
    1000 .reloc
    1000 .rsrc
    1000 .text
 

71voto

Moshe Levi Points 2084

vous pouvez utiliser Dependency Walker pour afficher le nom de la fonction. vous pouvez voir la fonction de paramètres uniquement si il est décoré. lire la suite de la FAQ:

*Comment puis-je afficher le paramètre et le type de retour d'une fonction? Pour la plupart des fonctions, cette information n'est pas présent dans le module. Le Windows module de format de fichier ne fournit qu'une seule chaîne de texte pour identifier chaque fonction. Il n'est pas structuré de la façon de les énumérer le nombre de paramètres, les types de paramètres, ou le type de retour. Cependant, certaines langues ne quelque chose qui s'appelle la fonction de "décoration" ou "déformation", qui est le processus d'encodage de l'information dans la chaîne de texte. Par exemple, une fonction de type int Foo(int, int) codée avec une décoration simple pourrait être exporté en tant que Toto@8. Le 8 correspond au nombre d'octets utilisés par les paramètres. Si C++ décoration est utilisé, la fonction serait exporté ?Toto@@YGHHH@Z, qui peut être directement décodé retour à la fonction d'origine de prototype: int Foo(int, int). Dependency Walker prend en charge le C++ undecoration à l'aide de la Undecorate C++ des Fonctions de Commande.

19voto

Magnus Lindhe Points 2391

DLL Export Viewer par NirSoft peut être utilisé pour afficher des fonctions exportées dans une DLL.

Cet utilitaire affiche la liste de toutes les fonctions exportées et leur adresses de mémoire virtuelle pour le fichiers DLL. Vous pouvez facilement copiez l'adresse de la mémoire de la fonction désirée, de la coller dans votre débogueur, et de définir un point d'arrêt à cette adresse mémoire. Lorsque cette la fonction est appelée, le débogueur s'arrête dans le début de cette fonction.

enter image description here

9voto

RRUZ Points 98685

Si vous n'avez pas le code source et la documentation de l'API, le code machine est tout ce qu'il est, vous avez besoin de démonter la bibliothèque dll en utilisant quelque chose comme IDA Pro , une autre option est d'utiliser la version d'essai de PE Explorer.

PE Explorer donne un Désassembleur. Il n'y a qu'une seule façon de comprendre les paramètres: exécuter le désassembleur et de lire le démontage de sortie. Malheureusement, cette tâche de "reverse engineering" de l'interface ne peut pas être automatisé.

PE Explorer est livré avec les descriptions pour les 39 de diverses bibliothèques, y compris le noyau du système d'exploitation Windows® bibliothèques (par exemple. KERNEL32, GDI32, USER32, SHELL32, WSOCK32), les principales bibliothèques graphiques (DDRAW, OPENGL32) et plus.

alt text

2voto

Restuta Points 4476

Pas sûr de sa liste de paramètres, mais suivre le plugin TotalCommander est très utile.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X