Seeing the functions implemented by a DLL

KansaiRobot

Junior Member
May 1, 2012
21
0
61
Hello everybody.

I would like to know a way to see the functions that are provided by a DLL by just analyzing the DLL file. Does anybody know how to do this? (Background of the problem at the end)

So far I have tried

Code:
dumpbin /export myDLL.dll

from the VCC console and it gives me something like:

Code:
ordinal hint RVA name

1 0 00024B0 _Function1@4
2 1 00024E0 _Function2@0
.....

So I can see that Function1 and Function2 are implemented by the myDLL.dll file. I dont know what @4 or @0 means but maybe number of parameters? I would like to know the type of parameters and the type of return value as well.

Any help will be greatly appreciated

Kansai


--
Background: I have inherited a system in my company (a physical system that is) which is controlled by a program but the sources got lost (I know, disorganized company but what can I do?). and have been ordered to use this and write a program to control it. Analyzing what I have I found some dlls that seem to control the physical parts of the system (motors , etc) so there is a problem of finding out how to use these dlls without any prior documentation:hmm:
 

dighn

Lifer
Aug 12, 2001
22,820
4
81
might have more luck posting this in the programming section, though I don't think you can get the information you want from the export table. the export table gives you just enough information to get the address of the functions so you can call them. information such as parameter types and return types are language-specific, and have no meaning at the binary level that a DLL operates at. if the DLL is a debug build, it may have enough embedded debugging meta data that'll tell you something.

BTW the @# notation is a c-style function naming convention where the number is the size of the parameters accepted by the function. 4 might be an integer or a pointer on a 32-bit system.