Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: paju1986 en 7 Diciembre 2010, 20:02 pm



Título: Alguna libreria multiplataforma para manejo de ratón y teclado?
Publicado por: paju1986 en 7 Diciembre 2010, 20:02 pm
Estoy buscando alguna libreria en C++ para manejar el raton y el teclado e integrarla en mi troyano pero tiene que ser multiplataforma y de licencia libre.
Si alguien conoce alguna o se anima a programarla avisadme porfavor.
(El código fuente de mi troyano esta en un POST de este mismo foro)

http://foro.elhacker.net/programacion_cc/estoy_escribiendo_un_troyano_en_c_y_qt4_de_licencia_gpl-t313180.0.html


Título: Re: Alguna libreria multiplataforma para manejo de ratón y teclado?
Publicado por: [L]ord [R]NA en 7 Diciembre 2010, 20:17 pm
Qt.


Título: Re: Alguna libreria multiplataforma para manejo de ratón y teclado?
Publicado por: paju1986 en 7 Diciembre 2010, 20:27 pm
Con Qt solo he logrado mover el ratón pero no manejo de teclado del tipo enviar pulsaciones de teclas ni clicks de ratón, he pensado en crear una libreria para usar con la API de windows y otra con XLib en GNU/Linux pero me parece mucho duplicar esfuerzos.


Título: Re: Alguna libreria multiplataforma para manejo de ratón y teclado?
Publicado por: Littlehorse en 7 Diciembre 2010, 21:26 pm
No queda claro en que sentido te referís al manejo del ratón y del teclado siendo que es para un troyano. Igualmente por el ejemplo que das, con Qt podes hacerlo perfectamente, te basta con:

QKeyEvent (http://doc.qt.nokia.com/stable/qkeyevent.html)
QMouseEvent (http://doc.qt.nokia.com/stable/qmouseevent.html)

+ ::PostEvent o ::SendEvent.


Título: Re: Alguna libreria multiplataforma para manejo de ratón y teclado?
Publicado por: paju1986 en 7 Diciembre 2010, 21:45 pm
Tengo entendido que SendEvent envia eventos solo a TU propia aplicación.
Yo busco algo que envie eventos de teclado de forma general a la aplicación que tenga el foco del teclado en ese momento, algo parecido al sendkeys de VB.net por ejemplo.
Esto lo usaria para desde la vista de escritorio remoto escribir con mi teclado como si estubiera escribiendo en el PC remoto.

bool QCoreApplication::sendEvent ( QObject * receiver, QEvent * event ) [static]

Como se puede ver en la declaración tengo que pasarle obligatoriamente el QObject que recibirá los eventos.


Título: Re: Alguna libreria multiplataforma para manejo de ratón y teclado?
Publicado por: Littlehorse en 7 Diciembre 2010, 22:14 pm
Claro, efectivamente es así. Por eso había dicho antes que no quedaba claro a que te referías exactamente con manejo de teclado y de ratón; si era para capturar u enviar eventos hacia otras aplicaciones o si lo era para con tu propia aplicación, pero ahora quedo aclarado.

Si en principio el objetivo es enviar eventos hacia otra aplicacion en forma remota, seria recomendable que te metas con las APIs de los sistemas involucrados para desarrollar una pequeña librería.
Mas que nada porque no es difícil hacer lo que necesitas tirando directamente de las APIs del sistema. Existe la posibilidad que si utilizas algún wrapper, la aplicación te quede demasiada sobrecargada, y eso por supuesto no es ideal para un troyano.


Citar
bool QCoreApplication::sendEvent ( QObject * receiver, QEvent * event ) [static]

Como se puede ver en la declaración tengo que pasarle obligatoriamente el QObject que recibirá los eventos.

Claro. Es que antes dijiste esto:

Citar
Con Qt solo he logrado mover el ratón pero no manejo de teclado del tipo enviar pulsaciones de teclas ni clicks de ratón

y no había quedado del todo claro. Pero ahora si.

Saludos



Título: Re: Alguna libreria multiplataforma para manejo de ratón y teclado?
Publicado por: paju1986 en 7 Diciembre 2010, 22:22 pm
Bueno muchas gracias, si más o menos eso es lo que me temía que tenia que hacer, crearé dos versiones de una libreria para hacerlo, una para Windows con su API y otra para X en GNU/Linux (Para Mac no, porque no tengo uno jeje), y dependiendo de la plataforma donde se compile que use una u otra.


Título: Re: Alguna libreria multiplataforma para manejo de ratón y teclado?
Publicado por: paju1986 en 8 Diciembre 2010, 02:28 am
A todo esto, se me acaba de ocurrir ¿Qué tal con la libreria de VNC? ¿Seria factible?