Alguna libreria multiplataforma para manejo de ratón y teclado?

Iniciado por paju1986, 7 Diciembre 2010, 20:02 PM

0 Miembros y 1 Visitante están viendo este tema.

paju1986

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
Hacking, programación, tutoriales, software libre y mucho más en:
http://www.albertinux.com

[L]ord [R]NA


paju1986

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.
Hacking, programación, tutoriales, software libre y mucho más en:
http://www.albertinux.com

Littlehorse

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
QMouseEvent

+ ::PostEvent o ::SendEvent.
An expert is a man who has made all the mistakes which can be made, in a very narrow field.

paju1986

#4
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.
Hacking, programación, tutoriales, software libre y mucho más en:
http://www.albertinux.com

Littlehorse

#5
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.


Citarbool 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:

CitarCon 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

An expert is a man who has made all the mistakes which can be made, in a very narrow field.

paju1986

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.
Hacking, programación, tutoriales, software libre y mucho más en:
http://www.albertinux.com

paju1986

A todo esto, se me acaba de ocurrir ¿Qué tal con la libreria de VNC? ¿Seria factible?
Hacking, programación, tutoriales, software libre y mucho más en:
http://www.albertinux.com