Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Kizar en 11 Diciembre 2006, 15:35 pm



Título: Llamar a una funcion
Publicado por: Kizar en 11 Diciembre 2006, 15:35 pm
Bueno, como supongo que sabeis en las dll se encuentran funciones.
Para llamar a una funcion de una dll en vb hay que declarar la funcion arriba.
Pero si quieres cargar una dll que no has declarado se aria con: LoadLibrary , despues buscariamos en la api la funcion que queramos por el nombre con GetProcAddress.
Pero para llamar a esa funcion que hemos llamado para pasarla los parametros yo uso esta api: CallWindowProc
Y la paso los parametros de la funcion, pero solo permite pasar tres parametros, si necesito pasar mas como lo haria ¿?
Ejemplo:
Código:
KeySlot = CallWindowProc(Direcion_funcion, Me.hWnd, parametro1, parametro2, parametro3)


Título: Re: Llamar a una funcion
Publicado por: Kizar en 14 Diciembre 2006, 14:48 pm
Nadie sabe...  :-\


Título: Re: Llamar a una funcion
Publicado por: Ivanchuk en 14 Diciembre 2006, 19:46 pm
Yo de vb no se demasiado pero tendrias que poder declarar un puntero a una funcion, cosa que en vb no podes hacer segun tengo entendido. Mirate esta pagina (http://www.maicas.net/articulo/linkvb.htm), ahi el autor hizo una dll que exporta una funcion la cual usas para hacer llamadas indirectas, seria el equivalente a un puntero a funcion. Desde ya que me parece que te conviene declararlas en lugar de hacer esto pero bueno.
Por otro lado encontre esto http://www.thevbzone.com/secrets.htm (http://www.thevbzone.com/secrets.htm), esta interesante, miralo.
Otro truco que usan es crear un hilo con la dir que obtenes de GetProcAddress, llamando a CreateThread().
CreateThread() (http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Basic/Q_20178412.html), no se como tratara los parametros, cuestion de probarlo, pero es probable que se le puedan pasar varios, o sea todos pero apuntados por una sola variable.
Espero que te sirva, sino bue.. se hace lo que se puede :).
P.D: Es muy bueno el truco de CallWindowProc.


Título: Re: Llamar a una funcion
Publicado por: ~~ en 15 Diciembre 2006, 20:22 pm
Mirate este manual a ver si te ayuda:

http://www.recursosvisualbasic.com.ar/htm/tutoriales/interaccion-visual-basic-c++.htm

1S4ludo