views:

971

answers:

3

Is there any free native Windows DLL export functions viewer, which shows the function name, and a list of their parameters?

Thanks.

A: 

Not sure about its parameters list, but following TotalCommander plugin is very useful.

Restuta
I'm not sure people want to download a binary without knowing exactly what it is. The plugin page is here: http://physio-a.univ-tours.fr/tcplugins/
RedGlyph
+5  A: 

you can use Dependency Walker to view the function name. you can see the function's parameters only if it's decorated. read the following from the FAQ:

*How do I view the parameter and return types of a function? For most functions, this information is simply not present in the module. The Windows' module file format only provides a single text string to identify each function. There is no structured way to list the number of parameters, the parameter types, or the return type. However, some languages do something called function "decoration" or "mangling", which is the process of encoding information into the text string. For example, a function like int Foo(int, int) encoded with simple decoration might be exported as Foo@8. The 8 refers to the number of bytes used by the parameters. If C++ decoration is used, the function would be exported as ?Foo@@YGHHH@Z, which can be directly decoded back to the function's original prototype: int Foo(int, int). Dependency Walker supports C++ undecoration by using the Undecorate C++ Functions Command.

Moshe Levi
Thanks, but when I try to open any DLL, it shows in the log window:Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.Error: Modules with different CPU types were found.Warning: At least one delay-load dependency module was not found.Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
TTT
I'm using Windows 7 x64 Final.
TTT
@Alon: Well, your application is quiet messed up :) the first error indicates that some of your dll's are compiled for 32bit systems and some for 64bit. you can only load dll's with the same CPU architecture in the same process. you can live with the other two errors as long as the application is handling them.
Moshe Levi
BTW, Those errors should not disturb you to view the exported function of the DLL in question. you should just click on this DLL and It's exported function will show up in the right window.
Moshe Levi
@Alon: I get those errors as well, for every DLL I ever look at. Just ignore them.
RichieHindle
Thanks. BTW, Are you an Israeli?
TTT
@Alon: Yes, I'm an Israeli.
Moshe Levi
A: 
RRUZ