How to find out which Win API functions are called from a compiled c/c++ dll
I have a compiled C/C++ Dll.
I would like to know which external API function is called by this Dll开发者_运维知识库.
Do you know any tools which can provide these informations.
Thanks.
You can use Dependency Walker to see API imports of a DLL. Of course that doesn't tell you if the DLL does dynamic loading, or COM usage.
Next to that you could use the much heavier logexts extension to windbg, which will dump all API calls at runtime.
Use the dumpbin
utility with the /imports
command-line option. There's also a depends.exe
utility which as a GUI.
Beware that these won't tell you about functions which you link to use GetProcAddress
, nor about interfaces which you access via COM.
Dependency Walker (depends.exe) will be your friend.
What does mean by external API(are you considering WINAPI as an external API ?). if windows API is not an external API then we can use to DumpBin.exe to display all external api used in the binary. if you want to see the dependent dll/exe of an executable then you can use Depend.exe.
AFAIK, dependency walker only shows functions that are called directly, not the ones that are called via function pointers. If you want to find all the APIs that are called, log all the calls to GetProcAddress.
Ida Pro, The universally accepted disassembler. It has seperate tab for Import and Export Function.It has several other uses in the field of reverse engineering.
精彩评论