online - ¿Hay algún visor nativo de funciones de exportación DLL?
dumpbin (5)
No estoy seguro acerca de su lista de parámetros, pero seguir el complemento de TotalCommander es muy útil.
¿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?
Si no tiene el código fuente y la documentación de la API, el código de la máquina es todo lo que hay, necesita desmontar la biblioteca dll usando algo como IDA Pro , otra opción es usar la versión de prueba de PE Explorer .
PE Explorer proporciona un Desensamblador. 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 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.
texto alternativo http://www.heaventools.com/img/tour2-2.gif
dumpbin desde el símbolo del sistema de Visual Studio:
C: / Users / Andrew / src2011 / cryptography / cspsdk> dumpbin / exports csp.dll
Microsoft (R) COFF / PE Dumper Versión 10.00.30319.01 Copyright (C) Microsoft Corporation. Todos los derechos reservados.
Volcado del archivo csp.dll
Tipo de archivo: DLL
La sección contiene las siguientes exportaciones para 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
puede usar Dependency Walker para ver el nombre de la función. puedes ver los parámetros de la función solo si está decorado. lea lo siguiente de las preguntas frecuentes:
¿Cómo veo el parámetro y regreso tipos 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.
DLL Export Viewer de NirSoft se puede usar para mostrar las funciones exportadas en una DLL.
Esta utilidad muestra la lista de todas las funciones exportadas y sus direcciones de memoria virtual para los archivos DLL especificados. Puede copiar fácilmente la dirección de memoria de la función deseada, pegarla en su depurador y establecer un punto de interrupción para esta dirección de memoria. Cuando se llama a esta función, el depurador se detendrá al comienzo de esta función.