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