Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

3rd party DLL

0 views
Skip to first unread message

Peter

unread,
Jan 12, 2003, 7:05:22 PM1/12/03
to
Is it possible to use VC to expose all the functions in a 3rd party DLL?
I'm not interested to look at the algorithms within the DLL, I just need to
know the function declarations and make calls to them.


Peter

unread,
Jan 12, 2003, 7:27:48 PM1/12/03
to
The Dependency Walker (comes with VS) appears to return some info about the
DLL that I want to use, however, it just lists the functions within the DLL,
how do I find out what parameters and data types to pass to the functions?

Is there any magic programs on the net can do the trick?


"Peter" <p190...@yahoo.com> wrote in message
news:6pnU9.5221$UB4....@news-server.bigpond.net.au...

ppu

unread,
Jan 12, 2003, 9:31:11 PM1/12/03
to
There's always IDAPro.

http://www.datarescue.com/idabase/

-ppu

"Peter" <p190...@yahoo.com> wrote in message news:8KnU9.5233$UB4....@news-server.bigpond.net.au...

Peter

unread,
Jan 12, 2003, 10:59:02 PM1/12/03
to
Thanks for the tip. Is there a better way than using a disassembler?


"ppu" <p...@nospam.com> wrote in message
news:avt8de$4i$1...@eeyore.INS.cwru.edu...

Igor Tandetnik

unread,
Jan 13, 2003, 3:31:55 PM1/13/03
to
"Peter" <p190...@yahoo.com> wrote in message
news:8KnU9.5233$UB4....@news-server.bigpond.net.au...

> The Dependency Walker (comes with VS) appears to return some info
about the
> DLL that I want to use, however, it just lists the functions within
the DLL,
> how do I find out what parameters and data types to pass to the
functions?
>
> Is there any magic programs on the net can do the trick?

The information you are after is lost irretrievably when the DLL is
compiled. Unless DLL exports mangled names, or is built with debug info
(both highly unlikely for a production quality commercial DLL), there is
no way to know function prototypes (short of disassembling and
reverse-engineering the DLL, or just guessing). You should really ask
for a header file or some other form of documentation from the DLL's
supplier.
--
With best wishes,
Igor Tandetnik

"For every complex problem, there is a solution that is simple, neat,
and wrong." H.L. Mencken


Peter

unread,
Jan 13, 2003, 5:20:19 PM1/13/03
to
Thanks for the advice. After a few hours of trial and error, I managed to
guess my through to use the DLL, the return values appear to be correct.
But then just because it works doesn't mean I have used it correctly.

If the DDL is incorrectly loaded/called, I think the most demaging
consequence would be hanging my machine, which can be resolved by simply
pressing the reset button. Since the program is for my personal use and I'm
not distributing it in anyway, I can live with that.


"Igor Tandetnik" <itand...@whenu.com> wrote in message
news:OtCJHL0uCHA.2680@TK2MSFTNGP09...

John P. Brown

unread,
Jan 14, 2003, 7:19:35 PM1/14/03
to
"Peter" <p190...@yahoo.com> wrote in message news:<8KnU9.5233$UB4....@news-server.bigpond.net.au>...

> The Dependency Walker (comes with VS) appears to return some info about the
> DLL that I want to use, however, it just lists the functions within the DLL,
> how do I find out what parameters and data types to pass to the functions?
>
> Is there any magic programs on the net can do the trick?
>

You might want to check PE Explorer from http://www.heaventools.com

It comes with a Exported/Imported API Function Viewer, API Function
Syntax Lookup, Delay Imports, Debugs Information, Relocations, Resource
Viewer/Editor, Disassembler & Dependency Scanner.

WBR,
JPB

Peter

unread,
Jan 14, 2003, 8:30:48 PM1/14/03
to
Thanks for the tip, unfortunately PE Explorer doesn't return any more useful
info than the Dependency Walker. It does list all the export functions,
however, it still lacks of the parameter info.

If I can understand assembly codes, maybe I can dig out some info from PE
Explorer's disassembler, but that's just beyond my capability.

Anayway, thanks for the input.

Peter


"John P. Brown" <john.p...@caramail.com> wrote in message
news:4848e0e2.0301...@posting.google.com...

0 new messages