键盘钩子是什么
键盘挂钩是一个可以监控键盘操作的指令。通过系统调用插入的钩子。钩子的本质是一个处理系统消息的程序,通过系统调用挂入系统。
键盘挂钩是一个可以监控键盘操作的指令。
比如一个钩子钓到一条大鱼,不管鱼怎么逃,只要你掌握了拴在钩子上的绳子,你总能找到鱼。键盘钩子是在处理键盘系统代码段中,用跳转指令替换某条指令,使执行行为转移到自定义代码中,然后将被替换的指令添加到这段代码的末尾,最后转移到原来被替换的下一条指令中,让原系统继续运行。比如电路中串联了电流表,电路的功能没有改变,只是操作人员在工作时获取电流信息。
狭义挂钩:通过系统调用插入的挂钩。钩子的本质是一个处理系统消息的程序,通过系统调用挂入系统。钩子有很多种,每一种都可以拦截并处理相应的消息。每当发送一个特定的消息时,钩子子程在到达目的窗口之前截获该消息,并获得该消息的控制权。此时,拦截的消息可以在钩子函数中处理,甚至可以强制结束消息传输。键盘挂钩仅用于拦截键盘消息。全局钩子可以捕捉Windows平台下任意窗口上的键盘操作。
通用钩子:直接修改指令段以获得控制权的钩子。这种钩子更强大,理论上可以任意修改计算机的行为。
0条评论