Lister les fonctions d'une DLL inconnue

Publié le : 25-11-2018 17:42

Il arrive (parfois) de devoir lister les fonctions d'une bibliothèque (mal documentée) pour pouvoir les utiliser.

Pour lister (sur windows avec une installation de visual studio 2017):

Ouvrir un invite de commande (ou une console powershell)

Se placer dans :

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.13.26128\bin\Hostx64\x64

Appeler dumpbin.exe

.\dumpbin.exe /exports D:\DLL\maDll.dll

Le retour sera une tableau à 4 colonnes ordinal, hint, RVA, name.

Notre interet se portera sur le contenu de la colonne name.

Pour en faire usage directement dans du C#:

[DllImport("maDll.dll", EntryPoint = "nameFunction", CallingConvention = CallingConvention.Cdecl)]
public static extern void aliasNameFunction(IntPtr context, Int32 device, Int32 Precedence);