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

 

 


Tema destacado: Curso de javascript por TickTack


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Para saber cantidad de parametros
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Para saber cantidad de parametros  (Leído 3,390 veces)
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Para saber cantidad de parametros
« en: 29 Diciembre 2011, 00:51 am »

Hola!
bueno por ahora estoy depurando una dll creada en C++ y quisiera saber como saber el numero de
parametros de las funciones exportadas que tiene esa dll
alguien puede darme algo de info por favor q no e encontrado nada :P
En línea

_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: Para saber cantidad de parametros
« Respuesta #1 en: 29 Diciembre 2011, 05:33 am »

Si es de Cpp de segura utiliza la convencion cdecl. Fijate que despues del RET hace ADD ESP, X.
divide X por 4 y te dara la cantidad de parametros.

(obviamente eso dentro del programa que utiliza dicha dll)
Saludos.
En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Para saber cantidad de parametros
« Respuesta #2 en: 29 Diciembre 2011, 05:39 am »

osea la siguiente instruccion despues del call no?
y no, no me aparecio esa instruccion es la dll de vb :P
En línea

_Enko


Desconectado Desconectado

Mensajes: 538



Ver Perfil WWW
Re: Para saber cantidad de parametros
« Respuesta #3 en: 29 Diciembre 2011, 13:36 pm »

osea la siguiente instruccion despues del call no?
y no, no me aparecio esa instruccion es la dll de vb :P
Si no aparece esa instruccion en el codigo del llamante, entonces la dll no es de C++.
Que este compilada con visual studio no quiere decir que sea de cpp.


msvbvm.dll utiliza una especie de fastcall y otras veces stdcall. En el caso de stdcall, vas a tener un RET X, donde x dividido 4 te da la cantidad de parametros. Eso dentro de la dll.
en el caso de la otra, pasa parametros en edx, ecx y luego en la pila.
« Última modificación: 29 Diciembre 2011, 13:44 pm por _Enko » En línea

x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: Para saber cantidad de parametros
« Respuesta #4 en: 29 Diciembre 2011, 17:34 pm »

jeje si me habia fijado del ret x pero despues me fije que no todas tenian el ret con un numero
de posiciones, pero ahora que lo dices mas el otro modo que dices ahora vere como lo hace, gracias _enko!
En línea

Karman


Desconectado Desconectado

Mensajes: 673



Ver Perfil WWW
Re: Para saber cantidad de parametros
« Respuesta #5 en: 30 Diciembre 2011, 05:42 am »

Hola!
bueno por ahora estoy depurando una dll creada en C++ y quisiera saber como saber el numero de parametros de las funciones exportadas que tiene esa dll
alguien puede darme algo de info por favor q no e encontrado nada :P

en realidad, como te contestaron, depende (no del compilador) sino del tipo de llamada, de todas formas, no suele ser algo difícil de descifrar, solo tenes que mirar las instrucciones antes de la llamada a la función (si está cifrado puede complicarse un poco) y en el caso que veas en las primeras líneas de la función mucho uso del registro edx, es posible que utilice fastcall y edx sea el puntero al objeto...

S2
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines