Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: Xephiro en 16 Agosto 2014, 00:30 am



Título: Hook de un teclado especifico
Publicado por: Xephiro en 16 Agosto 2014, 00:30 am
Hola a todos,

Me encuentro hace un par de días estancado con un tema que estoy tratando de realizar.

Estoy intentando Hookear un teclado (existen 2 teclados conectados en el equipo), lo que busco es Hookear y poder detener o alterar las teclas pulsadas por uno de estos dos teclados. El estoy utilizando LowLevelKeyboardProc pero solo he logrado detener y modificar lo que se escribe para todos los teclados existentes por igual.

Por otro lado he intentado utilizando GetRawInputDeviceList + GetRawInputData logro obtener el Handle del teclado que me interesa alterar y solo ver la información enviada por este teclado. No puedo ni modificarla ni detenerla.

¿Existe alguna forma de lograr lo que busco?


Título: Re: Hook de un teclado especifico
Publicado por: MCKSys Argentina en 16 Agosto 2014, 01:22 am
Hola!

Probaste con SetWindowsHookEx (http://msdn.microsoft.com/en-us/library/windows/desktop/ms644990%28v=vs.85%29.aspx)?

Ejemplos:

Ej1 (http://stackoverflow.com/questions/10394292/how-to-intercept-keystrokes-to-windows-command-prompt)
Ej2 (http://delphi.about.com/od/windowsshellapi/a/keyboard_hook.htm)

Saludos!


Título: Re: Hook de un teclado especifico
Publicado por: Xephiro en 16 Agosto 2014, 03:04 am
Si, he utilizado de forma muy similar a los ejemplos que dejaste.

Lo que puedo hacer de momento es
        - Lograr identificar que realmente se encuentra conectado el teclado a examinar.
        - Obtener tu handle
        - Ver la información enviada desde el teclado.

Pero no puedo lograr alterar o interceptar de alguna forma lo que envía este teclado sin alterar los demas teclados que se encuentren conectados.


Título: Re: Hook de un teclado especifico
Publicado por: MCKSys Argentina en 16 Agosto 2014, 04:30 am
Bueno, también podrías usar un driver, pero nunca he hecho uno.

Lo poco que conozco sobre estos temas, en el campo de drivers, es vJoy (http://vjoystick.sourceforge.net/site/).

No es lo que quieres, pero quizás pueda guiarte hacia lo que necesitas...  :P

Saludos!


Título: Re: Hook de un teclado especifico
Publicado por: Xephiro en 16 Agosto 2014, 04:52 am
Bueno, también podrías usar un driver, pero nunca he hecho uno.

Lo poco que conozco sobre estos temas, en el campo de drivers, es vJoy (http://vjoystick.sourceforge.net/site/).

No es lo que quieres, pero quizás pueda guiarte hacia lo que necesitas...  :P

Saludos!

Ok, se agradece la información, le daré un vistazo.


Título: Re: Hook de un teclado especifico
Publicado por: ouet73 en 9 Febrero 2024, 13:35 pm
Buenos días, Xephiro.

Como pudiste detener o modificar las teclas pulsadas por el teclado.
Yo solo he conseguido leerlas.

Verás, estoy haciendo un programa que trabaja de forma oculta leyendo el teclado, como un Keylogger. cuando detecto que hay una entrada del teclado realizada por un lector de códigos de barras, leo dicho código y lo grabo en una base de datos, pero no consigo anular esa entrada para que no le llegue a la interfaz de usuario.
El usuario que lee los códigos de barras con un lector inalámbrico, no es el mismo que está trabajando en el ordenador. Por eso quiero anular la entrada para que el usuario que hay en el ordenador no le repercuta en nada las lecturas que está haciendo su compañero.

Podrías ayudarme con esto?

Gracias y un cordial saludo.