W przypadku kodu natywnego prawdopodobnie najlepiej jest użyć Dependency Walker . Możliwe jest również użycie narzędzia wiersza poleceń dumpbin , które jest dostarczane z programem Visual Studio.
W Wikipedii jest artykuł o Dependency Walker. Najwyraźniej program stał się przestarzały i nie działa z niektórymi nowszymi funkcjami systemu Windows, ale dostępny jest zamiennik: github.com/lucasg/Dependencies
user1324109
53
Skorzystaj z bezpłatnej przeglądarki DLL Export Viewer , która jest bardzo łatwa w użyciu.
@sumit czy możesz być bardziej szczegółowy? to narzędzie działa dla mnie przez lata.
Ken D
6
Właściwie to narzędzie działa ładnie, prosto i prosto, dokładnie to, czego potrzebowałem.
informatik01
6
To świetne narzędzie do generowania listy metod / funkcji, ale nie pokazuje parametrów metod (ani ich typów).
bvdb
1
Bardzo dobrze jest mieć coś, co jest małe i kompaktowe, a nie jakiś nadęty produkt, jak zwykle są oficjalne produkty MS.
ワ イ き ん ぐ
40
Możesz wypróbować przeglądarkę obiektów w programie Visual Studio.
Wybierz opcję Edytuj zestaw komponentów niestandardowych . Stamtąd możesz wybierać spośród różnych bibliotek .NET, COM lub projektów lub po prostu zaimportować zewnętrzne biblioteki DLL za pomocą funkcji Przeglądaj.
Program Visual Studio wyświetla komunikat „Nie można przeglądać wybranego składnika” podczas korzystania z funkcji Przeglądaj i wybierając bibliotekę DLL :( - msdn.microsoft.com/query/…
Xdg
6
przeglądarka obiektów została przeniesiona do View. I tak, to nie działa (dlaczego miałby to zrobić, to microsoft)
@Kimmax Tak, ale user32.dll jest natywną biblioteką DLL systemu Windows, a nie serwerem COM. Tylko serwery COM (np. Biblioteki DLL COM, kontrolki ActiveX, * .ocx ...) mogą mieć typelibs, jeśli zostały wkompilowane w pierwszej kolejności. W przypadku natywnych (= obiektów innych niż COM) bibliotek DLL niektóre z innych wymienionych tutaj narzędzi (dumpbin et. Al.) Mogą działać. Oznacza to, że jeśli biblioteka DLL eksportuje swoje funkcje według nazwy, a nie tylko według liczby porządkowej.
Ponieważ ildasm jest produktem firmy Microsoft i jest instalowany domyślnie na komputerze PC, jeśli masz zainstalowane oprogramowanie Visual Studio, uważam, że jest to najlepsza opcja, ma również interfejs użytkownika, więc nie musisz używać wiersza poleceń. Dzięki
Mehrdad Babaki
Można go znaleźć: C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ <WERSJA> \ bin
Odbłyśnik .net był kiedyś darmowy, ale teraz jest produktem komercyjnym. Dla .net dll "JustDecompile" jest darmową alternatywą.
bvdb
czy dekompilator mówi tylko, jakie funkcje są dostępne. czy widzimy też ich implementację?
vipin8169
2
Jeśli biblioteka DLL jest napisana w jednym z języków .NET i chcesz wyświetlić tylko funkcje, w projekcie znajduje się odwołanie do tej biblioteki DLL.
Następnie dwukrotnie kliknij bibliotekę DLL w folderze odniesień, a zobaczysz jakie funkcje posiada w oknie OBJECT EXPLORER
Jeśli chcesz wyświetlić kod źródłowy tego pliku DLL, możesz użyć aplikacji dekompilującej, takiej jak reflektor .NET. mam nadzieję, że to ci pomoże.
Odpowiedzi:
W przypadku kodu natywnego prawdopodobnie najlepiej jest użyć Dependency Walker . Możliwe jest również użycie narzędzia wiersza poleceń dumpbin , które jest dostarczane z programem Visual Studio.
źródło
Skorzystaj z bezpłatnej przeglądarki DLL Export Viewer , która jest bardzo łatwa w użyciu.
źródło
Możesz wypróbować przeglądarkę obiektów w programie Visual Studio.
Wybierz opcję Edytuj zestaw komponentów niestandardowych . Stamtąd możesz wybierać spośród różnych bibliotek .NET, COM lub projektów lub po prostu zaimportować zewnętrzne biblioteki DLL za pomocą funkcji Przeglądaj.
źródło
View
. I tak, to nie działa (dlaczego miałby to zrobić, to microsoft)Użyj
dumpbin
wiersza poleceń .dumpbin /IMPORTS <path-to-file>
powinien udostępniać funkcję zaimportowaną do tej biblioteki DLL.dumpbin /EXPORTS <path-to-file>
powinien udostępniać funkcje, które eksportuje.źródło
W przypadku bibliotek .NET DLL można użyć ildasm
źródło
Użyj dotPeek firmy JetBrains.
https://www.jetbrains.com/decompiler/
źródło
Nie mówiąc nam, z jakiego języka pochodzi ten plik dll / assembler, możemy tylko zgadywać.
A co powiesz na .NET Reflector
źródło
Jeśli biblioteka DLL jest napisana w jednym z języków .NET i chcesz wyświetlić tylko funkcje, w projekcie znajduje się odwołanie do tej biblioteki DLL.
Następnie dwukrotnie kliknij bibliotekę DLL w folderze odniesień, a zobaczysz jakie funkcje posiada w oknie OBJECT EXPLORER
Jeśli chcesz wyświetlić kod źródłowy tego pliku DLL, możesz użyć aplikacji dekompilującej, takiej jak reflektor .NET. mam nadzieję, że to ci pomoże.
źródło