Red de conocimiento informático - Consumibles informáticos - ¿Qué es exactamente un programa gancho?

¿Qué es exactamente un programa gancho?

Hook es una plataforma del mecanismo de procesamiento de mensajes de Windows. Las aplicaciones pueden configurar subrutinas en él para monitorear ciertos mensajes de ventanas específicas, y las ventanas monitoreadas pueden ser creadas por otros procesos. Cuando llega un mensaje, se procesa antes de la función del controlador de ventana de destino. El mecanismo de enlace permite que las aplicaciones intercepten y procesen mensajes de ventana o eventos específicos.

Un gancho es en realidad un segmento de programa que procesa mensajes y se conecta al sistema a través de llamadas al sistema. Siempre que se envía un mensaje específico, el programa de enlace capturará el mensaje antes de llegar a la ventana de destino, es decir, la función de enlace primero obtendrá el control

. En este momento, la función de enlace puede procesar (cambiar) el mensaje, continuar entregándolo sin procesarlo o forzar la finalización de la entrega del mensaje.

Los ganchos también pueden entenderse como la puerta trasera que nos dejó WINDOWS. Por ejemplo, si desea controlar el teclado, es fácil usar INT en la era DOS, pero en la era WINDOWS, nosotros. no se les permite operar directamente el hardware porque WINDOWS está controlado por mensajes, por lo que podemos interceptar los mensajes del teclado para controlar el teclado. Pero es muy sencillo controlar los mensajes de su propio proceso. Para controlar los mensajes de todos los procesos, es necesario utilizar ganchos. Coloque la función de enlace en la DLL y todos los mensajes relacionados con el teclado deben filtrarse mediante la función de enlace, para que pueda hacer lo que quiera.

El programa de enlace en WINDOWS es como el TSR (programa residente en memoria) en DOS. Se utiliza para interceptar

mensajes específicos en WINDOWS y procesarlos en consecuencia. Por ejemplo, puede interceptar mensajes de entrada del teclado para obtener información de entrada del teclado, etc. Los programas de enlace se pueden alojar y desenganchar mediante llamadas API.