AutoHotkey Community

It is currently May 27th, 2012, 5:27 am

All times are UTC [ DST ]




Post new topic Reply to topic  [ 7 posts ] 
Author Message
 Post subject: DLL Export Viewer
PostPosted: May 23rd, 2005, 5:10 am 
Offline

Joined: March 28th, 2004, 3:53 pm
Posts: 1870
This utility displays the list of all exported functions and their virtual memory addresses for the specified DLL files.

http://www.nirsoft.net/utils/dll_export_viewer.html

(Try it on corrupt's nice Cmdret dll)

_________________
Image


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: May 23rd, 2005, 6:05 am 
Offline
User avatar

Joined: December 29th, 2004, 1:28 pm
Posts: 2545
Very handy. Thanks :)


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Dependency Walker
PostPosted: December 27th, 2005, 4:27 pm 
Offline

Joined: December 27th, 2005, 1:46 pm
Posts: 6837
Location: France (near Paris)
I don't know the software you recommand, but for such functionnality and (perhaps) more, I usually use Dependency Walker which is free and powerful: it can even find runtime dependencies (LoadLibrary).


Report this post
Top
 Profile  
Reply with quote  
 Post subject: Re: Dependency Walker
PostPosted: January 1st, 2006, 9:12 am 
Offline

Joined: December 12th, 2004, 1:34 pm
Posts: 51
This is not true. Dependencies due to LoadLibrary calls are not detected by Dependency Walker.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: January 1st, 2006, 2:50 pm 
Offline

Joined: December 27th, 2005, 1:46 pm
Posts: 6837
Location: France (near Paris)
Maybe I wasn't clear enough.

DW doesn't detect statically dependencies created by LoadLibrary.

This is not possible, or at least extremly difficult, supposing to disassemble the code to find a call to this library. And even then, if the name of the called DLL is dynamically built, it is not possible to know it.

But if you run the analyzed program, or a program calling the analyzed DLL, DW will be able to detect a call to LoadLibrary and know which DLL is loaded (and which functions are called).

Of course, it will detect only the DLLs called at runtime: a program may dynamically depend, say on a JPeg reading library, but if you never load such image in your testing, you will not see it.

HTH.


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: January 1st, 2006, 4:37 pm 
Offline

Joined: December 12th, 2004, 1:34 pm
Posts: 51
PhiLho wrote:
DW doesn't detect statically dependencies created by LoadLibrary.


Dependencies created by LoadLibrary are usually not referred to as static dependencies. Static dependencies are those when a DLL is linked using an export library (.lib) file.

PhiLho wrote:
But if you run the analyzed program, or a program calling the analyzed DLL, DW will be able to detect a call to LoadLibrary and know which DLL is loaded (and which functions are called).


Sorry, I don't understand. What do you mean by "run the analyzed program, or a program calling the analyzed DLL" ? Which analyzed program are you talking about ?


Report this post
Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: January 1st, 2006, 7:15 pm 
Offline

Joined: December 27th, 2005, 1:46 pm
Posts: 6837
Location: France (near Paris)
mario_a wrote:
PhiLho wrote:
DW doesn't detect statically dependencies created by LoadLibrary.


Dependencies created by LoadLibrary are usually not referred to as static dependencies. Static dependencies are those when a DLL is linked using an export library (.lib) file.


I didn't wrote about static dependencies, but, statically detecting dependencies, ie. without running analyzed code.

mario_a wrote:
PhiLho wrote:
But if you run the analyzed program, or a program calling the analyzed DLL, DW will be able to detect a call to LoadLibrary and know which DLL is loaded (and which functions are called).


Sorry, I don't understand. What do you mean by "run the analyzed program, or a program calling the analyzed DLL" ? Which analyzed program are you talking about ?


LoadLibrary can be called from within a program ("the analyzed program") or from a DLL routine, which must be called from an external program, even if it is just RunDLL32 or AutoHotkey. AFAIK, a DLL can't run alone, it is a piece of code designed to extend a program, to be called by a program (or another DLL). So to perform a dynamic analysis of a DLL, you must have a program calling the functions inside the DLL.


Report this post
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: nomissenrojb and 1 guest


You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Group