Anular el registro de los ganchos del teclado por el vencimiento del tiempo de espera

1

Estoy escribiendo un administrador de contraseñas para Windows que quiero proteger contra los keyloggers. Hay un tiempo de espera de 5000 ms para los ganchos del teclado .

  

El procedimiento de enlace debe procesar un mensaje en menos tiempo que la entrada de datos especificada en el valor LowLevelHooksTimeout en la siguiente clave de registro:

     

HKEY_CURRENT_USER \ Control Panel \ Desktop

     

El valor está en milisegundos.

(El valor predeterminado de esa clave de registro es 5000)

Suponiendo que un administrador de contraseñas se ejecute como administrador, ¿podría suspender todos los programas, simular la escritura de una tecla, esperar 5 segundos y luego asegurarme de que Windows haya desactivado todos los enganches del teclado?

No he encontrado una forma de anular el registro de todos los enlaces a través de UnhookWindowsHookEx porque requiere un identificador que no tengo. Esta es la razón por la que estoy recurriendo a anular el registro por tiempo de espera.

    
pregunta Thomas Weller 08.01.2015 - 22:17
fuente

2 respuestas

5

Hay tres razones por las que puedo ver por qué esta suposición es peligrosa.

  1. Los ganchos solo se eliminan en Windows 7 y superiores. Probablemente este sea el menor de su interés, pero vale la pena mencionarlo.
  2. El enlace se elimina de forma silenciosa y su aplicación no tiene forma de saber si estas acciones ocurrieron y / o tuvieron éxito.

Entonces, incluso si su suposición es correcta, no hay forma de que sepa que se eliminaron los ganchos. Lo que significa que debes asumir que no todos han sido eliminados.

  1. Esto solo se aplica a los ganchos de teclado que se han registrado utilizando SetWindowsHookEx

Este es el problema más urgente. Una gran cantidad de malware no va a utilizar la API de enganche incorporada. Escribirán sus propios ganchos que no serán registrados con el sistema operativo. O a un nivel aún más bajo para los registradores de claves, estarán conectando o instalando su propio controlador de nivel de sistema. Lo que de nuevo, no se registrará con el sistema operativo.

Es posible suspender todos los programas, pero de nuevo es posible que no puedas suspender los servicios en los que está instalado el key-logger. Aunque creo que es noble de tu parte intentar protegerte contra los registradores de claves, no creo que sea tu responsabilidad.

    
respondido por el RoraΖ 09.01.2015 - 19:12
fuente
-1

No funcionará. Los ganchos no son programas, son archivos DLL que se ejecutan en el contexto de su programa. A menos que estén muy mal escritos, no puede afectar fácilmente el tiempo de ejecución.

    
respondido por el Mark 09.01.2015 - 21:32
fuente

Lea otras preguntas en las etiquetas