Для нативного кода, вероятно, лучше всего использовать Dependency Walker . Также можно использовать утилиту командной строки dumpbin , поставляемую с Visual Studio.
В Википедии есть статья о Dependency Walker. По всей видимости, программа устарела и не работает с некоторыми новыми функциями Windows, но доступна замена: github.com/lucasg/Dependencies
user1324109
50
Используйте бесплатную программу просмотра экспорта DLL , она очень проста в использовании.
@sumit можно конкретнее? эти инструменты работают у меня на протяжении многих лет.
Ken D
6
На самом деле инструмент работает красиво, просто и понятно, именно то, что мне нужно.
informatik01
5
Это отличный инструмент для создания списка методов / функций, но он не показывает параметры методов (или их типы).
bvdb
1
Очень здорово иметь что-то маленькое и компактное, а не какой-то раздутый продукт, как обычно бывает с официальными продуктами MS.
ワ イ き ん ぐ
38
Вы можете попробовать браузер объектов в Visual Studio.
Выберите " Редактировать набор пользовательских компонентов" . Оттуда вы можете выбрать одну из множества библиотек .NET, COM или проектов или просто импортировать внешние библиотеки DLL через Обзор.
@Kimmax Да, но user32.dll - это собственная Windows DLL, а не COM-сервер. Только COM-серверы (например, COM-библиотеки, элементы управления ActiveX, * .ocx ...) могут иметь библиотеки типов, если они изначально были скомпилированы. Для собственных (= не COM-объектов) DLL могут работать некоторые другие инструменты, упомянутые здесь (dumpbin и др.). То есть, если DLL экспортирует функции по имени, а не только по порядковому номеру.
Поскольку ildasm является продуктом Microsoft и устанавливается на ПК по умолчанию, если у вас установлена Visual Studio. Я считаю, что это лучший вариант. Он также имеет пользовательский интерфейс, поэтому вам не нужно использовать командную строку. Спасибо
Mehrdad
Его можно найти: C: \ Program Files (x86) \ Microsoft SDKs \ Windows \ <VERSION> \ bin
f4d0
6
Не сообщая нам, на каком языке эта dll / сборка, мы можем только догадываться.
Рефлектор .net раньше был бесплатным, но теперь это коммерческий продукт. JustDecompile - это бесплатная альтернатива для .net dll.
bvdb
декомпилятор только говорит вам, какие функции там есть. Можем ли мы увидеть их реализацию как-нибудь?
vipin8169
2
Если DLL написана на одном из языков .NET и вы хотите только просмотреть, какие функции, в проекте есть ссылка на эту DLL.
Затем дважды щелкните DLL в папке ссылок, и вы увидите, какие функции она выполняет в окне OBJECT EXPLORER.
Если вы хотите просмотреть исходный код этого файла DLL, вы можете использовать приложение декомпиляции, такое как рефлектор .NET. надеюсь, это поможет вам.
Ответы:
Для нативного кода, вероятно, лучше всего использовать Dependency Walker . Также можно использовать утилиту командной строки dumpbin , поставляемую с Visual Studio.
источник
Используйте бесплатную программу просмотра экспорта DLL , она очень проста в использовании.
источник
Вы можете попробовать браузер объектов в Visual Studio.
Выберите " Редактировать набор пользовательских компонентов" . Оттуда вы можете выбрать одну из множества библиотек .NET, COM или проектов или просто импортировать внешние библиотеки DLL через Обзор.
источник
View
. И да, не работает (зачем, это майкрософт)Используйте
dumpbin
командную строку .dumpbin /IMPORTS <path-to-file>
должен предоставить функцию, импортированную в эту DLL.dumpbin /EXPORTS <path-to-file>
должен предоставлять функции, которые он экспортирует.источник
Используйте dotPeek от JetBrains.
https://www.jetbrains.com/decompiler/
источник
Для .NET DLL вы можете использовать ildasm
источник
Не сообщая нам, на каком языке эта dll / сборка, мы можем только догадываться.
Так как насчет .NET Reflector
источник
Если DLL написана на одном из языков .NET и вы хотите только просмотреть, какие функции, в проекте есть ссылка на эту DLL.
Затем дважды щелкните DLL в папке ссылок, и вы увидите, какие функции она выполняет в окне OBJECT EXPLORER.
Если вы хотите просмотреть исходный код этого файла DLL, вы можете использовать приложение декомпиляции, такое как рефлектор .NET. надеюсь, это поможет вам.
источник