¿Hay algún visor nativo gratuito de funciones de exportación de DLL de Windows que muestre el nombre de la función y una lista de sus parámetros?¿Hay algún visor de funciones de exportación DLL nativo?
Respuesta
puede usar Dependency Walker para ver el nombre de la función. puede ver los parámetros de la función solo si está decorado. lea lo siguiente de las preguntas más frecuentes:
¿Cómo veo el parámetro y los tipos de retorno de una función? Para la mayoría de las funciones, esta información simplemente no está presente en el módulo. El formato de archivo del módulo de Windows solo proporciona una cadena de texto única para identificar cada función. No hay una forma estructurada de enumerar el número de parámetros, los tipos de parámetros o el tipo de devolución. Sin embargo, algunos lenguajes hacen algo llamado función "decoración" o "mangle", que es el proceso de codificación de información en la cadena de texto. Por ejemplo, una función como int Foo (int, int) codificada con decoración simple podría exportarse como _Foo @ 8. El 8 se refiere a la cantidad de bytes utilizados por los parámetros. Si se utiliza la decoración C++, la función se exportaría como? Foo @@ YGHHH @ Z, que se puede decodificar directamente de nuevo al prototipo original de la función: int Foo (int, int). Dependency Walker admite sin decoración C++ mediante el uso del comando Undecorate C++ Functions.
No estoy seguro acerca de su lista de parámetros, pero following TotalCommander plugin es muy útil.
Si usted no tiene el código fuente y documentación de la API, el código de máquina es todo lo que hay, es necesario desmontar la biblioteca DLL usando algo como IDA Pro, otra opción es utilizar la versión de prueba de PE Explorer.
PE Explorer proporciona un desarmador. Solo hay una forma de averiguar los parámetros: ejecutar el desensamblador y leer el resultado del desensamblaje. Desafortunadamente, esta tarea de ingeniería inversa de la interfaz no se puede automatizar.
PE Explorer viene incluido con descripciones para 39 bibliotecas diferentes, incluidas las bibliotecas centrales del sistema operativo Windows® (por ejemplo, KERNEL32, GDI32, USER32, SHELL32, WSOCK32), bibliotecas de gráficos clave (DDRAW, OPENGL32) y más.
¿Cómo se diferencia esto de Nirsoft DLL Export Viewer? – Pacerier
dumpbin desde el símbolo del sistema de Visual Studio:
C: \ Users \ Andrew \ src2011 \ Cryptography \ cspsdk> dumpbin/exportaciones csp.dll
Microsoft (R) COFF/PE Dumper Versión 10.00.30319.01 Copyright (C) Microsoft Corporation. Todos los derechos reservados.
volcado de csp.dll archivo
Tipodel archivo: DLL
sección contiene los siguientes exportaciones de CSP.dll
00000000 characteristics
3B1D0B77 time date stamp Tue Jun 05 12:40:23 2001
0.00 version
1 ordinal base
25 number of functions
25 number of names
ordinal hint RVA name
1 0 00001470 CPAcquireContext
2 1 000014B0 CPCreateHash
3 2 00001520 CPDecrypt
4 3 000014B0 CPDeriveKey
5 4 00001590 CPDestroyHash
6 5 00001590 CPDestroyKey
7 6 00001560 CPEncrypt
8 7 00001520 CPExportKey
9 8 00001490 CPGenKey
10 9 000015B0 CPGenRandom
11 A 000014D0 CPGetHashParam
12 B 000014D0 CPGetKeyParam
13 C 00001500 CPGetProvParam
14 D 000015C0 CPGetUserKey
15 E 00001580 CPHashData
16 F 000014F0 CPHashSessionKey
17 10 00001540 CPImportKey
18 11 00001590 CPReleaseContext
19 12 00001580 CPSetHashParam
20 13 00001580 CPSetKeyParam
21 14 000014F0 CPSetProvParam
22 15 00001520 CPSignHash
23 16 000015A0 CPVerifySignature
24 17 00001060 DllRegisterServer
25 18 00001000 DllUnregisterServer
Resumen
1000 .data
1000 .rdata
1000 .reloc
1000 .rsrc
1000 .text
Tenga cuidado de no ejecutar 'dumpbin/export' accidentalmente (falta 's' al final), es un comando completamente diferente. –
Me olvido de Dumpbin y tengo que buscar esta respuesta cada seis meses más o menos. ¡Gracias! – tofutim
DLL Export Viewer por NirSoft puede ser utilizado para mostrar las funciones exportadas en una DLL.
This utility displays the list of all exported functions and their virtual memory addresses for the specified DLL files. You can easily copy the memory address of the desired function, paste it into your debugger, and set a breakpoint for this memory address. When this function is called, the debugger will stop in the beginning of this function.
La aplicación de Nirsoft no muestra funciones sin nombre :-( – TCS
@MagnusLindhe Utilizo esta aplicación copie la dirección y la establezco como un punto de interrupción, pero cuando la depuro con Visual Studio (modo de depuración, Win32) no se detiene cuando se llama a la función. Usé tanto la dirección como la dirección relativa para probar esto. No funcionan. ¿Qué estoy haciendo mal? ¿Quizás lo sepa? No puedo encontrar más información al respecto –
El botón buscar DLL se ha completado roto para mí, también no muestra ninguna función en dlls en absoluto. Estoy usando Windows 10 (64bit) – Owl
- 1. ¿Hay algún golpe de perfunción usando las funciones de DLL?
- 2. Exportación de funciones de C++ dll a C# P/Invoke
- 3. ¿Hay algún visor de SVG lite para Android?
- 4. Exportación de variables globales desde DLL
- 5. ¿Hay algún DLL o DLL como concepto en Android?
- 6. Mingw acumulación - depende de DLL no es nativo de ventanas
- 7. ¿Hay un visor DGML?
- 8. exportación funcione a DLL sin clases
- 9. ¿Hay algún efecto secundario de usar muchas funciones estáticas?
- 10. ¿Hay algún uso para declaraciones de funciones locales?
- 11. ¿Algún buen tutorial sobre lilith (visor de registro para Logback)?
- 12. ¿Hay alguna forma mejor de copiar un dll nativo a la carpeta bin?
- 13. Pueden clase de C++ de exportación de DLL
- 14. ¿Hay un visor de datos de Google App Engine local?
- 15. Exportación de una función C nativa desde una DLL .net?
- 16. Funciones de SlickGrid para la exportación de CSV?
- 17. Exportación explícita de funciones de biblioteca compartida en Linux
- 18. ¿Cómo cargar y descargar dinámicamente un archivo DLL nativo?
- 19. Visor de archivos COLLADA
- 20. Cómo P/Invocar a un dll nativo de Metro?
- 21. Legacy VB6 COM + DLL invocando DLL Win32 nativo - ¿problemas de subprocesamiento con STA?
- 22. ¿Cómo ver las funciones de DLL?
- 23. Visor de conjunto de red de puntos
- 24. ¿Hay algún diseñador de Android Drawable?
- 25. ¿Hay algún Principio de Clojure?
- 26. ¿Hay algún resumen de guayaba?
- 27. Visual Lisp: cómo llamar a funciones en DLL C++ externo
- 28. ¿Cómo usar visores de diferencias externos en eclipse? ¿Hay algún visor de diff disponible para eclipse incorporado?
- 29. ¿Hay algún contenedor API de Robocopy?
- 30. ¿Hay algún inconveniente en el uso de funciones anónimas en JavaScript? P.ej. ¿uso de memoria?
Gracias, pero cuando intento abrir cualquier DLL, aparece en la ventana de registro: Error: Al menos un módulo tiene una importación no resuelta debido a una función de exportación faltada en un módulo implícitamente dependiente. Error: Se encontraron módulos con diferentes tipos de CPU. Advertencia: no se encontró al menos un módulo de dependencia de carga de demora. Advertencia: Al menos un módulo tiene una importación no resuelta debido a una función de exportación faltante en un módulo dependiente de la carga de retraso. –
Estoy usando Windows 7 x64 Final. –
@Alon: Bueno, su aplicación está en mal estado :) el primer error indica que algunos de sus dll están compilados para sistemas de 32 bits y algunos para 64 bits. solo puede cargar dll con la misma arquitectura de CPU en el mismo proceso. puede vivir con los otros dos errores siempre que la aplicación los maneje. –