Funktionen in einer DLL?



  • Hi!
    Ist es irgendwie moeglich ohne ein entsprechendes Interface fuer eine Datei sowie ohne den Sourcecode zu haben eine alte C++ kompilierte DLL zu nehmen und herauszufinden, welche Funktionen sie bereitstellt?

    Danke schonmal fuer Antworten :0)



  • Es gibt diverse Tools die dir anzeigen welche Funktionen eine DLL exportiert.

    Daraus lässt sich aber leider nicht festellen welche Parameter diese Funktionen erwarten.



  • Hmm, dachte mir, dass so eine Antwort kommt.. habs mal mit einem disammbler versucht die Exports darzustellen - da war nicht viel zu finden.. aergerlich das :0(

    Danke dennoch



  • Doch, es geht. Wenn die DLL in C++ geschrieben wurde, werden die Funktionsnamen dekoriert und Rückgabe- und Parametertypen hineincodiert. So ist es z.B. mit Dependency Walker möglich, aus den Funktionsnamen in mit Visual C++ erstellten DLLs auf die Funktionssignaturen zu schließen (Dependency Walker bietet seit v2.0 die Möglichkeit, diese direkt anzuzeigen). Für mit dem C++Builder erstellte DLLs geht das mit dem Kommandozeilentool TDUMP.

    Das ganze funktioniert natürlich nicht für als extern "C" deklarierte Funktionen.



  • Danke, ich probiers gleich mal aus :0)

    *edit* Schoenes Programm, aber schade, dass es mir auch nicht mehr infos ueber die Datei ausgibt *seufz*.. waere zu schoen gewesen um wahr zu sein


Anmelden zum Antworten