Thread: Inside a DLL

  1. #1
    Confused Magos's Avatar
    Join Date
    Sep 2001
    Location
    Sweden
    Posts
    3,145

    Inside a DLL

    Is it possible to get information on what functions lies inside a DLL? When using GetProcAddress() you have to know the function name, argument list and return value, but isn't there a way to retrieve that information? It have to be stored in a list somewhere inside the DLL.
    MagosX.com

    Give a man a fish and you feed him for a day.
    Teach a man to fish and you feed him for a lifetime.

  2. #2
    Registered User
    Join Date
    Jun 2003
    Posts
    245
    You can use tools like LordPE to find the function names, but the argument lists and return values are not stored, so you need the documentation to the library to figure them out (or disassemble the dll and see what it pulls of the stack, when, and what it does with it).

    Or just disassemble a program that uses said dll and find out how it calls it.

  3. #3
    Registered User
    Join Date
    May 2003
    Posts
    1,619
    Also, some DLLs access functions by name, some only by number, and in this case, there is nothing (apart from documentation, or disassembly and analysis) that can help you.
    You ever try a pink golf ball, Wally? Why, the wind shear on a pink ball alone can take the head clean off a 90 pound midget at 300 yards.

  4. #4
    Guest Sebastiani's Avatar
    Join Date
    Aug 2001
    Location
    Waterloo, Texas
    Posts
    5,708
    If you know how to parse an exe, you can parse a dll. Look up works by Luevelsmeyer and Pietrek - both have written quite a bit of useful stuff on this subject.
    Code:
    #include <cmath>
    #include <complex>
    bool euler_flip(bool value)
    {
        return std::pow
        (
            std::complex<float>(std::exp(1.0)), 
            std::complex<float>(0, 1) 
            * std::complex<float>(std::atan(1.0)
            *(1 << (value + 2)))
        ).real() < 0;
    }

  5. #5
    Confused Magos's Avatar
    Join Date
    Sep 2001
    Location
    Sweden
    Posts
    3,145
    Thanks!
    I got that program that found all functions inside a DLL, nice (no argument list though, oh well...).
    MagosX.com

    Give a man a fish and you feed him for a day.
    Teach a man to fish and you feed him for a lifetime.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Dikumud
    By maxorator in forum C++ Programming
    Replies: 1
    Last Post: 10-01-2005, 06:39 AM
  2. dll communicating between each other
    By cloudy in forum C++ Programming
    Replies: 5
    Last Post: 06-17-2005, 02:20 AM
  3. Showing a window from inside a DLL
    By Rare177 in forum Windows Programming
    Replies: 0
    Last Post: 10-08-2004, 11:39 AM
  4. DLL and std::string woes!
    By Magos in forum C++ Programming
    Replies: 7
    Last Post: 09-08-2004, 12:34 PM
  5. Passing parameters from VB to C++ through ActiveX DLL
    By torbjorn in forum Windows Programming
    Replies: 0
    Last Post: 12-10-2002, 03:13 AM