elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Obtener funciones CON PARAMETROS de una .dll
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Obtener funciones CON PARAMETROS de una .dll  (Leído 5,460 veces)
nhaalclkiemr


Desconectado Desconectado

Mensajes: 1.678


Máximo exponente 9DB9F1AEED2FADBDE 997BBE20FEDA92


Ver Perfil WWW
Obtener funciones CON PARAMETROS de una .dll
« en: 7 Enero 2008, 19:08 pm »

Pues bien he estado buscando y weno al final conseguí con el dumpbin.exe y con el link.exe poder obtener el nombre de las funciones de una DLL...lo malo es que no conseguí obtener los parametros que hay que pasarle a esa funcion...

Y weno cuando son funciones documentadas no hay problema porque las miras en internet y listo...pero cuando no son documentadas no consigo obtener la información sobre los parametros que hay que pasarle a esa función...

Weno en un sitio hablaban de usar un desemblador...pero la verdad no entendí como dice que se hace:

Citar
si no tenés la definición de la función (por ejemplo es una funcion que creó alguien indocumentada), depurar el programa con algún desensamblador (puede ser w32dasm )
Supon que la funcion acepta 3 parametros y devuelve uno.
Entonces desensamblas el ejecutable que llama a la funcion dentro de la DLL.
Buscar una llamada a la funcion (Ej CALL MIDLL!MIFUNCION)

Una vez encontrada la llamada a la funcion mirás arriba del código y buscas instrucciones PUSH: EJ

push parametro3
push parametro2
push parametro1

CALL MIDLL!MIFUNCION
En el registro EAX está el valor de retorno

obviamente no va a decir parametro1,parametro2 o parametro3
Puede decir algo como:
push esi
push edi
push FF

En este caso al ser registros de 32 bits, lo que se pasa son 2 parametros de 32 bits (o sea 4 bytes cada uno) y el primer parametro es FF (256) o sea un byte.
ESI O EDI podrian ser punteros a un string. Para ver de que se trata mejor, te fijarias en que posicion de memoria (aparece en el codigo desensamblado) se llama a la funcion. Entonces usando un debugger (ntsd por ejemplo que viene con XP) te podrias fijar los valores de esi y edi y ver como cambian una vez que la funcion se ejecuta.
No hay forma directa y facil de saber que y cuantos parametros se le pasan a una dll mirando solamente el ejecutable de la aplicacion. Por mas que uses el PE explorer o el dump o programas similares, este te va a mostrar la table de importacion/exportacion de funciones, pero no la cantidad de parametros que se le pasan ya que esta info no está (ni tiene por que) estar contenida dentro PE (portable executable).

Y weno pues a ver si alguien sabe de algun programa o de algun método mas facil, o en su defecto de como hacer lo que puse arriba explicado mejor ya que wen se usar un poco el OLLY pero yo de ASM nada...

Saludos ;)
En línea

StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%
Ferсhu


Desconectado Desconectado

Mensajes: 1.215

Menos palabras y Mas codigos.


Ver Perfil WWW
Re: Obtener funciones CON PARAMETROS de una .dll
« Respuesta #1 en: 7 Enero 2008, 19:14 pm »

Citar
Weno en un sitio hablaban de usar un desemblador...pero la verdad no entendí como dice que se hace:

Lo q creo q kisieron decir es q abras con algun debuger como olly vallas hasta el offset de la funcion y veas cuantas cosas saca de la pila (para saber la cantidad) y q hace con ellas (para saber q tipos son).

En el texto q citaste es lo mismo pero antes de llamarse a la funcion, pero aveces no tenemos un ejemplo de un archivo q use la funciones. Pero siempre vamos a tener a la funcion.


saludos!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[MySQL] Funciones con parámetros infinitos
Bases de Datos
raul338 3 4,165 Último mensaje 22 Octubre 2011, 00:50 am
por Shell Root
Bash; Pasaje de arreglos como parametros a funciones
Scripting
astinx 1 5,228 Último mensaje 29 Octubre 2011, 20:24 pm
por astinx
Duda de parametros a funciones
Programación C/C++
EmiRetamar 1 1,950 Último mensaje 18 Agosto 2012, 20:40 pm
por Ferno
Párametros de funciones
Programación C/C++
LauraD 3 2,606 Último mensaje 11 Junio 2014, 18:03 pm
por leosansan
Duda acerca de los parámetros de las funciones
PHP
dizzy18 1 1,431 Último mensaje 18 Octubre 2015, 18:03 pm
por MinusFour
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines