阅读:3287回复:15
小弟初来宝地,还望照顾一二:在2000下锁键盘和鼠标用HOOK是否不行?据说要用到驱动程序。不知可有例程?谢
RT
|
|
|
沙发#
发布于:2001-05-23 12:53
hook可以实现的,但用driver效果更好些。
|
|
|
板凳#
发布于:2001-05-23 15:42
记得本论坛在被黑以前有一源码,你可以在论坛的新闻处下载以前的离线版。
|
|
|
地板#
发布于:2001-05-24 09:56
用户被禁言,该主题自动屏蔽! |
|
地下室#
发布于:2001-05-24 10:19
可以利用Keyboard Controller的功能进行键盘(PS/2mouse)的加锁。
键盘使用两个端口:64h--命令端口,60h--数据端口。向command port丢A5h,然后向data port丢要设置的密码,长度不能超过八个,以0结尾,且是scancode而不是ASCII码。然后向command port丢A6h将Password Enable即可。键盘加密后就不可使用,除非输入密码。输入密码后键盘自动解锁。 可以写个Driver来完成向64h,60h读写数据的功能。 |
|
5楼#
发布于:2001-05-24 16:34
用户被禁言,该主题自动屏蔽! |
|
6楼#
发布于:2001-05-24 17:43
假设密码是12345,直接按12345键即可,输入别的键键盘仍然被锁!
|
|
7楼#
发布于:2001-05-24 19:14
用户被禁言,该主题自动屏蔽! |
|
8楼#
发布于:2001-05-25 09:03
不论是否上锁,当你按键时,首先由Keyboard Controller得到响应,Keyboard Conrtroller会扫描键盘matrix得到scancode.如果输入的不是密码的话,Keyboard不会被解锁,即scancode不会送到host(system).
另键盘产生的scancode通过60h送给system,而不是通过60h送给键盘。 再不明白,我也没的说的了! |
|
9楼#
发布于:2001-05-26 18:40
在2000下锁键盘和鼠标使用全局hook完全就可以实现,
至于源码吗,请到网上艘一下,很好找的。 |
|
|
10楼#
发布于:2001-05-27 21:58
以下针对win2000
hook可以锁住除了ctrl+alt+del以外的所有键盘消息 如果非要锁ctrl+alt+del,可以改注册表,有点危险 win98更容易 |
|
11楼#
发布于:2001-05-28 08:00
用户被禁言,该主题自动屏蔽! |
|
12楼#
发布于:2001-05-28 08:03
It's a standard command of Keyboard Controller Interface. You can try it with an app.
[Rick 编辑于 2001-05-28 08:06] |
|
13楼#
发布于:2001-05-29 10:12
Rick,我没有找到你说的编程接口呀,能否贴出几个函数,以供查找。
另外,各位我已经着手编写驱动。但以前没有编过,我有几个疑问。 我想是编一个FILTER以截住C+A+D,但是我想通过一个应用程序来控制截还是不截(有时候不用),那么我的应用程序怎样跟驱动程序通信呢?“发消息”这种机制有吗? 还望各位赐教!小弟谢啦! |
|
|
14楼#
发布于:2001-05-29 10:45
要在Win2000下锁住C+A+D,好像只能通过编写WDM来实现!
|
|
|
15楼#
发布于:2001-05-29 11:42
很少书籍介绍这些Command,DDK上不可能有的。怎么使用上面已经写的很清楚了,你写个dos程序测试一下即可。以前写了一个,但不小心硬盘被format了。
另外需要注意的是: 1。在向60h/64h写数据之前,需要先从64h port读缓冲区状态,看是否可以写,设读回的数据为A,通过测试A.1为0时才可以向端口写数据。读60h时要测试A.0为1才可以从60h读数据(一般是scancode) 2。读写数据时要把键盘中断禁止掉。完成之后在Enable. 另,据我所知,APP是无法通过PostMessage的方式通知Driver的,可以使用Ioctl的方式,参考DDK. |
|