¿Cómo ver las funciones de DLL?


Respuestas:


73

Para el código nativo, probablemente sea mejor usar Dependency Walker . También es posible usar la utilidad de línea de comandos dumpbin que viene con Visual Studio.


1
Con las nuevas ediciones de VS, pruebe DumpBin como herramienta externa .
Laurie Stearn

Hay un artículo de Wikipedia sobre Dependency Walker. Aparentemente, el programa se ha quedado obsoleto y no funciona con algunas características más nuevas de Windows, pero hay un reemplazo disponible: github.com/lucasg/Dependencies
user1324109

50

Use el Visor de exportación de DLL gratuito , es muy fácil de usar.


8
@sumit, ¿puedes ser más específico? Esta herramienta me funciona a lo largo de los años.
Ken D

66
En realidad, la herramienta funciona bien, simple y llanamente, justo lo que necesitaba.
informatik01

55
Es una gran herramienta para generar una lista de métodos / funciones, pero no muestra los parámetros de los métodos (ni sus tipos).
bvdb

1
Es genial tener algo pequeño y compacto, y no un producto hinchado como los productos oficiales de MS.
ワ イ き ん ぐ

38

Puede probar el Explorador de objetos en Visual Studio.

Seleccione Editar conjunto de componentes personalizados . Desde allí, puede elegir entre una variedad de bibliotecas .NET, COM o de proyectos o simplemente importar archivos dlls externos a través de Examinar.


16
Visual Studio dice "El componente seleccionado no se puede examinar" cuando se usa Examinar y selecciona DLL :( - msdn.microsoft.com/query/…
Xdg

55
el navegador de objetos se ha movido a View. Y sí, no funciona (por qué lo haría, es Microsoft)
phil294

1
Más un vendedor que un problema de MS. Probablay no hay typelib en el dll. Ver: stackoverflow.com/a/13903040/1614903
Holger Böhnke

@ HolgerBöhnke no typelib en userdll32 tampoco
Kimmax

2
@Kimmax Sí, pero user32.dll es una DLL nativa de Windows y no un servidor COM. En primer lugar, solo los servidores COM (p. Ej., Dlls COM, controles ActiveX, * .ocx ...) pueden tener typelibs, si se compilaron. Para las DLL nativas (= objeto no COM), algunas de las otras herramientas mencionadas aquí (dumpbin et. Al.) Pueden funcionar. Es decir, si la DLL exporta sus funciones por nombre y no solo por ordinal.
Holger Böhnke



8

Para las DLL de .NET, puede usar ildasm


Como ildasm es un producto de Microsoft y está instalado en la PC de forma predeterminada si tiene instalado Visual Studio. Creo que es la mejor opción. También tiene una interfaz de usuario, por lo que no necesita usar la línea de comandos. Gracias
Mehrdad Babaki

Se puede encontrar: C: \ Archivos de programa (x86) \ Microsoft SDKs \ Windows \ <VERSION> \ bin
f4d0

6

Sin decirnos de qué idioma es este dll / ensamblado, solo podemos adivinar.

Entonces, ¿qué hay de .NET Reflector


2
Entonces este debería ser tu chico.
Adriaan Stander

1
El reflector .net solía ser gratuito, pero ahora es un producto comercial. Para .net dll, "JustDecompile" es una alternativa gratuita.
bvdb

¿El descompilador solo te dice qué funciones hay? ¿podemos ver su implementación también de alguna manera?
vipin8169

2

Si una DLL está escrita en uno de los lenguajes .NET y solo desea ver qué funciones, hay una referencia a esta DLL en el proyecto.

Luego haga doble clic en la DLL en la carpeta de referencias y luego verá qué funciones tiene en la ventana OBJECT EXPLORER

Si desea ver el código fuente de ese archivo DLL, puede usar una aplicación de descompilador como .NET reflector. Espero que esto te ayude.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.