Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Finding arguments that go with methods in C++ dll's

Ok, so I can use dumpbin.exe /exports library.dll to find all methods in the dll.

...but how do I find out which arguments to pass into them? Without a header file of course.

like image 482
Presidenten Avatar asked Jul 12 '10 14:07

Presidenten


People also ask

How can I see what methods are in a DLL?

If a DLL is written in one of the . NET languages and if you only want to view what functions, there is a reference to this DLL in the project. Then doubleclick the DLL in the references folder and then you will see what functions it has in the OBJECT EXPLORER window.

What are the functions in user32 DLL?

DLL. USER32. DLL implements the Windows USER component that creates and manipulates the standard elements of the Windows user interface, such as the desktop, windows, and menus. It thus enables programs to implement a graphical user interface (GUI) that matches the Windows look and feel.

What are DLL functions?

A DLL is a library that contains code and data that can be used by more than one program at the same time. For example, in Windows operating systems, the Comdlg32 DLL performs common dialog box related functions. Each program can use the functionality that is contained in this DLL to implement an Open dialog box.


1 Answers

For the usual C-style exports (e.g., Windows API DLLs): You can't. This information is not stored in the DLL and is inevitably lost after compilation (unless you have the headers or debuging symbols).

C++ exports, on the other hand, store their signature as part of the mangled function name and you can view them using Dependency Walker or similar tools, or demangle them manually using the UNDNAME tool or DUMPBIN's /SYMBOLS option.

like image 90
Philipp Avatar answered Nov 03 '22 23:11

Philipp