Click here to Skip to main content
15,889,767 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Hi all,

Is there any software to get the parameter on function available in a DLL? I've tried Depends, but it's only list the function that available in the API. I have the documentation of the DLL, but some of the function is not listed on the manual and I need to use it to send the Pointer to get the return value from the API.

I also tried PE Explorer but no success. I don't know what to do. Try to search for the software about 1 month. FYI, my intention is to get the function parameter require to call the API, not reverse engineering.
Posted
Comments
Sergey Alexandrovich Kryukov 20-Dec-13 3:44am    
Why?!
—SA
OriginalGriff 20-Dec-13 4:00am    
Why? Simple I assume: he has a DLL but not the source and needs to interface with it. Without the source or any function documentation he has no idea what parameters are needed.
Sergey Alexandrovich Kryukov 20-Dec-13 4:04am    
I guess your assumption could be correct... Right, it would be a bad idea to work without documentation. This is not a .NET assembly... However, even the native DLL can be reverse-engineered, but this is not a pleasant or fruitful work. :-)
—SA
OriginalGriff 20-Dec-13 4:21am    
Yeah, I've been in that place: someone leaves and you have to interface to his code...now where did he put the source...oh sh*t...
Sergey Alexandrovich Kryukov 20-Dec-13 4:27am    
I don't know if you knew that bad joke which ends with the reply like "It's a pleasure to chat with the one who visited so many different places...". :-)
—SA

1 solution

For a native DLL file, there is no way I know of to extract the information, short of a full decompile as the information simply isn't stored in the file - just the number of bytes the parameters take up but not what type they are. If you think about it, it makes sense that it would be that way: the DLL is a fully compiled "machine code" executable, and it does not know about the higher level constructs that the original parameters were made up of.

Sorry - but you need the documentation.
 
Share this answer
 
Comments
Luiey Ichigo 20-Dec-13 3:46am    
Native is meaning the final DLL? This is the DLL use to operate a device. From your explanation, the answer is no. Thank you Griff
OriginalGriff 20-Dec-13 3:59am    
Native means it is a from a Native build, rather than a .NET managed build - which produces an IL DLL Assembly file which does contain the information (and can be converted back to C# or VB very easily). Native DLL's don't do that, so the answer is "No" I'm afraid!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900