I have a binary file - Windows static library (*.lib).
Is there a simple way to find out names of the functions and their interface from that library ?
Something similar to emfar
and elfdump
utilities (on Linux systems) ?
This question is related to
windows
static-libraries
libraries
DUMPBIN /EXPORTS Will get most of that information and hitting MSDN will get the rest.
Get one of the Visual Studio packages; C++
"dumpbin -exports" works for dll, but sometimes may not work for lib. For lib we can use "dumpbin -linkermember" or just "dumpbin -linkermember:1".
Like it can be seen in other answers you'll have to open a Developer Command Prompt offered in your version of Visual Studio to have dumpbin.exe
in your execution path. Otherwise, you can set the necessary environment variables by hand.
dumpbin /EXPORTS yourlibrary.lib
will usually show just a tiny list of symbols. In many cases, it won't show the functions the library exports.
dumpbin /SYMBOLS /EXPORTS yourlibrary.lib
will show that symbols, but also an incredibly huge amount of other symbos. So, you got to filter them, possibly with a pipe to findstr
(if you want a MS-Windows tool), or grep
.
Searching the Static
keyword using one of these tools seems to be a good hint.
LIB.EXE is the librarian for VS
http://msdn.microsoft.com/en-us/library/7ykb2k5f(VS.80).aspx
(like libtool on Unix)
DUMPBIN /EXPORTS Will get most of that information and hitting MSDN will get the rest.
Get one of the Visual Studio packages; C++
1) Open a Developer Command Prompt for VS 2017 (or whatever version you have on your machine)(It should be located under: Start menu --> All programs --> Visual Studio 2017 (or whatever version you have on your machine) --> Visual Studio Tools --> Developer Command Prompt for VS 2017.
2) Enter the following command:
dumpbin /EXPORTS my_lib_name.lib
"dumpbin -exports" works for dll, but sometimes may not work for lib. For lib we can use "dumpbin -linkermember" or just "dumpbin -linkermember:1".
1) Open a Developer Command Prompt for VS 2017 (or whatever version you have on your machine)(It should be located under: Start menu --> All programs --> Visual Studio 2017 (or whatever version you have on your machine) --> Visual Studio Tools --> Developer Command Prompt for VS 2017.
2) Enter the following command:
dumpbin /EXPORTS my_lib_name.lib
Like it can be seen in other answers you'll have to open a Developer Command Prompt offered in your version of Visual Studio to have dumpbin.exe
in your execution path. Otherwise, you can set the necessary environment variables by hand.
dumpbin /EXPORTS yourlibrary.lib
will usually show just a tiny list of symbols. In many cases, it won't show the functions the library exports.
dumpbin /SYMBOLS /EXPORTS yourlibrary.lib
will show that symbols, but also an incredibly huge amount of other symbos. So, you got to filter them, possibly with a pipe to findstr
(if you want a MS-Windows tool), or grep
.
Searching the Static
keyword using one of these tools seems to be a good hint.
Open a visual command console (Visual Studio Command Prompt)
dumpbin /ARCHIVEMEMBERS openssl.x86.lib
or
lib /LIST openssl.x86.lib
or just open it with 7-zip :) its an AR archive
I wanted a tool like ar t libfile.a
in unix.
The windows equivalent is lib.exe /list libfile.lib
.
LIB.EXE is the librarian for VS
http://msdn.microsoft.com/en-us/library/7ykb2k5f(VS.80).aspx
(like libtool on Unix)
DUMPBIN /EXPORTS Will get most of that information and hitting MSDN will get the rest.
Get one of the Visual Studio packages; C++
Open a visual command console (Visual Studio Command Prompt)
dumpbin /ARCHIVEMEMBERS openssl.x86.lib
or
lib /LIST openssl.x86.lib
or just open it with 7-zip :) its an AR archive
LIB.EXE is the librarian for VS
http://msdn.microsoft.com/en-us/library/7ykb2k5f(VS.80).aspx
(like libtool on Unix)
DUMPBIN /EXPORTS Will get most of that information and hitting MSDN will get the rest.
Get one of the Visual Studio packages; C++
I wanted a tool like ar t libfile.a
in unix.
The windows equivalent is lib.exe /list libfile.lib
.
LIB.EXE is the librarian for VS
http://msdn.microsoft.com/en-us/library/7ykb2k5f(VS.80).aspx
(like libtool on Unix)
Source: Stackoverflow.com