Título: Keyboard Hook no detecta teclas en una aplicación en concreto Publicado por: rmva2 en 14 Diciembre 2011, 01:09 am Hola buenas.
Acabo de terminar un KeyLogger basado en un hook de teclado Low-level. Funciona divinamente en cualquier ventana activa, salvo en la que interesa: una ventana de un juego en concreto. Mientras esta ventana tenga el foco, no me reconoce ningún keystroke. Estoy empezando a pensar que está programado con toda intención jeje ¿Alguien podría decir a qué se podría deber? La verdad es que estoy perdido. Gracias por adelantado. Saludos! El código: Código
Título: Re: Keyboard Hook no detecta teclas en una aplicación en concreto Publicado por: x64core en 14 Diciembre 2011, 01:52 am Esto es .Net
bueno pero lo general para keylogger te dire, veo que comparas la tecla pulsados con valores determinados :P esto no es muy recomandable es mejor obtener los scancodes, para obtener el caracter correcto quiza seria eso el porque no te muestra algunos Título: Re: Keyboard Hook no detecta teclas en una aplicación en concreto Publicado por: BlackZeroX en 14 Diciembre 2011, 08:11 am Solo edita SetWindowsHookEx para que realize un hook a el hilo deaseado... habitualmente los juegos detentan los ganchos y los deshasen... en pocas palabras los eliminan o los evaden, asi que será mejor que primero deshabilites o evadas (bypass) la seguridad del juego.
Dulces Lunas!¡. Título: Re: Keyboard Hook no detecta teclas en una aplicación en concreto Publicado por: raul338 en 14 Diciembre 2011, 15:51 pm Te lo muevo a vb.net
Puede ser que la ventana este protegida contra hooks :P o use otras entradas (como DirectInput) Título: Re: Keyboard Hook no detecta teclas en una aplicación en concreto Publicado por: rmva2 en 15 Diciembre 2011, 00:15 am Ey se agradece mucho vuestra pronta respuesta.
RHL: El problema no es que me muestre unos caracteres y otros no. El problema es que no me reconoce ninguno (y sólo esa ventana cuando está activa). Igualmente gracias por el consejo de los scancodes. Veré como mejorarlo en ese aspecto. BlackZeroX: Voy a probar lo primero que has dicho que tiene buena pinta. Lo de evadir la seguridad del juego son para mi palabras mayores jeje raul338: Disculpas por haberlo puesto en el foro equivocado (vi VB y me lancé xD). Veré igual como hacerlo con DirectInput aunque si supierais de alguna información, tutorial o ejemplo de código sobre eso último se agradecería un montón. Título: Re: Keyboard Hook no detecta teclas en una aplicación en concreto Publicado por: rmva2 en 15 Diciembre 2011, 16:53 pm Bueno después de intentar lo que me dijisteis decidí probar con WH_JOURNALRECORD en vez de WH_KEYBOARD_LL ya que al parecer la ventana de la aplicación no me reconoce el último.
Ahora bien, me falla el SetWindowsHookEx: Código: hookHandle = SetWindowsHookEx(HookType.WH_JOURNALRECORD, callback, Process.GetCurrentProcess.MainModule.BaseAddress, 0) Código: hookHandle = SetWindowsHookEx(HookType.WH_JOURNALRECORD, callback, _ System.Runtime.InteropServices.Marshal.GetHINSTANCE(System.Reflection.Assembly.GetExecutingAssembly().GetModules()(0)), 0) He probado esas dos formas (entre muchas más) y el hookHandle que devuelve la función es nulo (vamos, que no hace el hook). De nuevo estoy perdido. No sé qué hacer. ¿Podría alguien echarme una mano en esa línea? Gracias de nuevo por vuestro tiempo |