首页
社区
课程
招聘
[旧帖] [求助]按下大写锁定之后系统干了什么 0.00雪花
发表于: 2014-9-18 15:05 1542

[旧帖] [求助]按下大写锁定之后系统干了什么 0.00雪花

2014-9-18 15:05
1542
我现在写了一个键盘过滤,想用一个win32控制台程序,打开这个应用程序,大写锁定键无效,灯常亮。现在我的想法是应用程序调用一个winapi,模拟大写锁定按下,然后在驱动中使大写锁定无效。
但是我想知道有没有其他办法。
就是不知道我该怎么去hook这个过程,系统到底如何让大写锁定灯亮起来的,这个流程是什么?
求各位解答一下

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 1392
活跃值: (4867)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
2
1按下CAPS_LOCK按键
2NtReadFile对于键盘设备的PENDING IRP返回,包含了CAPS_LOCK的按键信息
3投送到msg消息队列

4消息度列扫描到了这个按键事件发现是VK_CAPITAL键
调用UpdateKeyLights更新LED灯

这个函数通过

ZwDeviceIoControlFile(pDeviceInfo->handle, NULL, NULL, NULL,
                        &giosbKbdControl, IOCTL_KEYBOARD_SET_INDICATORS,
                        (PVOID)&gklp, sizeof(gklp), NULL, 0);
向设备发送信息
2014-9-18 16:44
0
雪    币: 49
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
明白了,就是用户态下DeviceIoControl发 IOCTL_KEYBOARD_SET_INDICATORS设置灯状态
2014-9-19 11:20
0
雪    币: 26
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
来次学习一下,回去实验一下,
2014-9-21 23:29
0
游客
登录 | 注册 方可回帖
返回
//