Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 2
  • 192

Czasem dostajemy plik DLL skompilowany w C++ lub innym języku do postaci binarnej i chcielibyśmy skorzystać z zaimplementowanych w nim metod. Znalazłem kilka darmowych programów, które pozwalają wydobyć informacje o metodach dostępnych w binarnym pliku DLL.

 

 

Pierwszy program nazywa się DLL Export Viewer i można go pobrać stąd:

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

 

Jest też jeszcze program Dependency Walker, który dodatkowo tworzy diagram zależności modułów:

http://www.dependencywalker.com/

ncy Walker

Nawet w samym Visual Studio jest prosty program DUMPBIN:

https://msdn.microsoft.com/en-us/library/756as972%28v=VS.90%29.aspx

 

Problemem jest jednak wydobycie informacji o parametrach i zwracanych typach poszczególnych metod, szczególnie gdy nie mamy pliku nagłówkowego .h.

Może ktoś zna jakiś program, który potrafiłby wygenerować plik nagłówkowy dla dowolnego binarnego pliku DLL?

Adam_Łuszczewski
  • Zapytał
  • @ Adam_Łuszczewski | 22.02.2015
    • 6
    • 1
    • 2
Komentarze (2)
Znalazłem komercyjny program PE Explorer, który w niektórych przypadkach potrafi podać parametry i zwracany typ, ale niestety nie w każdym przypadku:
http://www.heaventools.com/overview.htm

Ma też disassembler, który może trochę pomóc, ale to nie jest proste rozwiązanie.
Skomentował : @ Adam_Łuszczewski ,22.02.2015
  • 6
  • 1
  • 2
Zaloguj się aby zadać pytanie
Pokrewne

Odpowiedź (1)

  • 0

Z tego, co wiem, to nie ma idealnego rozwiązania, gdyż typ zmiennej na poziomie binarnym nie jest (chyba że dll skompilowana jest debug info) przechowywany. Jest to tylko wskaźnik do przestrzeni w pamięci, gdzie dana zmienna jest przechowywana. Dlatego niestety jedynym słusznym rozwiązaniem jest znalezienie dokumentacji biblioteki albo żmudna własna analiza. Analiza przez oprogramowanie nie jest wstanie wskazać wszystkich typów, tym bardziej zdefiniowanych w bibliotece.

 

Pozdrawiam

 

Pawel_Bakowski
  • Odpowiedział
  • @ Pawel_Bakowski | 09.03.2015