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

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


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.01Copyright (C) Microsoft Corporation.  All rights reserved.Dump of file C:\Windows\System32\kernel32.dllFile 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


Open the .dll file and look for the EXPORT section of this PE file using the binary PE/COFF specs available from Microsoft.

But that's an overkill, I think. Your question should be a concrete want. What exactly do you want to wrap and what do you have ? Only the binaries and no source/headers ?


DLLs don't contain "functions". They contain code and entrypoints. It's not possible to tell from optimized code where transitions between functions occur unless you have a debug database.