How to get list of functions inside a DLL (managed and unmanaged)?

myWallJSON picture myWallJSON · Jul 25, 2012 · Viewed 17.4k times · Source

So I play around a DLL (UnityEditor.dll) I wanna to get a list of all functions inside of this managed DLL which are unmanaged (dll is probably composed from a native C++ (with statically compiled libaries if such were used) core and managed C++ wrapper all wrapped into one dll.) I want to get a list of all unmanaged functions inside of that Dll to for example create my own managed\unmanaged wrapper?

Answer

hmjd picture hmjd · Jul 25, 2012

The dumpbin.exe utility shipped with Visual Studio can be used to display a list of exports. For example:

dumpbin.exe /EXPORTS C:\WINDOWS\System32\Kernel32.dll

Example output:

Microsoft (R) COFF/PE Dumper Version 10.00.30319.01
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file C:\Windows\System32\kernel32.dll

File Type: DLL

  Section contains the following exports for KERNEL32.dll

    00000000 characteristics
    4E20FBA0 time date stamp Sat Jul 16 03:46:56 2011
        0.00 version
           1 ordinal base
        1390 number of functions
        1390 number of names

    ordinal hint RVA      name

          1    0          AcquireSRWLockExclusive (forwarded to NTDLL.RtlAcquireSRWLockExclusive)
          2    1          AcquireSRWLockShared (forwarded to NTDLL.RtlAcquireSRWLockShared)
          3    2 00004440 ActivateActCtx
          4    3 00066B80 AddAtomA
          5    4 00066B20 AddAtomW
          6    5 0006ADF0 AddConsoleAliasA
          7    6 0006AE60 AddConsoleAliasW