AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Dll Exported Functions Viewer

 
Post new topic   Reply to topic    AutoHotkey Community Forum Index -> Utilities & Resources
View previous topic :: View next topic  
Author Message
sosaited



Joined: 24 Feb 2005
Posts: 233

PostPosted: Mon Mar 20, 2006 7:08 am    Post subject: Dll Exported Functions Viewer Reply with quote

This Program scans a dll (Or a folder of dll's) for the Exported Functions it contains. It does not display the paramters of the functions, Which i really need, so if someone knows about a program that can also tell the parameters of the functions please post it here

Download Dll export Viewer

Homepage

Description:

Quote:
This utility displays the list of all exported functions and their virtual memory addresses for the specified DLL files. You can easily copy the memory address of the desired function, paste it into your debugger, and set a breakpoint for this memoery address. When this function is called, the debugger will stop in the beginning of this function.
For example: If you want to break each time that a message box is going to be displayed, simply put breakpoints on the memory addresses of message-box functions: MessageBoxA, MessageBoxExA, and MessageBoxIndirectA (or MessageBoxW, MessageBoxExW, and MessageBoxIndirectW in unicode based applications) When one of the message-box functions is called, your debugger should break in the entry point of that function, and then you can look at call stack and go backward into the code that initiated this API call

_________________
My small "thanks" to AHK in shape of these dedicated 3d images (Topic already in "General" Forum)
Back to top
View user's profile Send private message Send e-mail MSN Messenger
PhiLho



Joined: 27 Dec 2005
Posts: 6721
Location: France (near Paris)

PostPosted: Mon Mar 20, 2006 10:58 am    Post subject: Reply with quote

QuickView, which was distributed with older versions of Windows, used to display such information.
Dependency Walker can do that too, and also shows, as the name implies, the dependencies: not only it shows the DLLs statically linked by another DLL or an EXE, but it can even run an EXE and check at runtime the LoadLibrary calls, hence the dynamic dependencies.

AFAIK, I fear there is no mean to see the parameters required by a DLL function. I suppose that theoritically, it can be done by dissassemblying the code of the functions and see where in the heap they take their parameters. But it is easier and more reliable to rely on the API documentation, if available.
_________________
vPhiLho := RegExReplace("Philippe Lhoste", "^(\w{3})\w*\s+\b(\w{3})\w*$", "$1$2")
Back to top
View user's profile Send private message Visit poster's website
Chris
Site Admin


Joined: 02 Mar 2004
Posts: 10467

PostPosted: Mon Mar 20, 2006 12:50 pm    Post subject: Reply with quote

Dll export Viewer looks like a great utility. I may wind up using it to help debugging.

Thanks.
Back to top
View user's profile Send private message Send e-mail
AHKnow*
Guest





PostPosted: Mon Mar 20, 2006 1:35 pm    Post subject: Reply with quote

I did see a payware program that might do what you want... Its called PE Explorer ( http://www.heaventools.com/PE_Explorer_Exports_Viewer.htm )

Download the trialware. Open a Dll, go to "View" from the menu and select "Export" ( they also have Import ). From Export Viewer (or Import Viewer), select "Syntax Description Editor" (which is the middle icon of 3 on a lower menu). This tool can show you various parameters.

If somebody knows a freeware tool that can do this, than please let us know.
Back to top
PhiLho



Joined: 27 Dec 2005
Posts: 6721
Location: France (near Paris)

PostPosted: Mon Mar 20, 2006 2:06 pm    Post subject: Reply with quote

It is interesting, but as you can see in the related Web page, it relies on a database of APIs, ie. it can do nothing with an unknown/artibrary DLL. I suspected that seeing in the screenshot informations like HWND (disassembly would give only "32bit parameter", not the exact type).
This is still useful, but well, you get something similar (probably less extensive) with ApiViewer or the API-Guide.

Of course, PE Explorer has the advantage of being contextual (showing informations on the current DLL).
_________________
vPhiLho := RegExReplace("Philippe Lhoste", "^(\w{3})\w*\s+\b(\w{3})\w*$", "$1$2")
Back to top
View user's profile Send private message Visit poster's website
AHKnow



Joined: 03 Jul 2004
Posts: 118

PostPosted: Sun Dec 02, 2007 2:44 pm    Post subject: Reply with quote

Another interesting free utility- Anywhere PE Viewer

http://www.ucware.com/apev/index.htm


Then there is the Microsoft online database- http://support.microsoft.com/dllhelp/
Back to top
View user's profile Send private message
majkinetor



Joined: 24 May 2006
Posts: 3622
Location: Belgrade

PostPosted: Tue Dec 04, 2007 12:34 am    Post subject: Reply with quote

The fastest, smallest (~100K) and simplest to use:
http://physio-a.univ-tours.fr/tcplugins/FILEINFO.htm
_________________
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    AutoHotkey Community Forum Index -> Utilities & Resources All times are GMT
Page 1 of 1

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group