Lister les fonctions d'une DLL inconnue

    Publié le : 27-09-2020 14:09

    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);