阅读:8068回复:37
怎样写一个驱动就能禁止光驱、软驱、USB,高分相送
怎样写一个驱动就能禁止光驱、软驱、USB,高分相送
|
|
沙发#
发布于:2004-08-09 19:57
写一个过滤驱动就可以了,拦截相关的IRP,如IRP_DEVICE_CONTROL!
|
|
板凳#
发布于:2004-08-12 09:46
楼上的能不能说详细一点啊?到底怎么样对所有的设备进行filter啊?我也可以贡献几十分。
|
|
|
地板#
发布于:2004-08-14 13:17
已经搞定,现在光驱、软驱测试通过
|
|
地下室#
发布于:2004-08-14 23:26
这么简单?搞定了?
|
|
|
5楼#
发布于:2004-08-19 09:56
ysz_oo可以给一些资料吗?我一直在关注这个主题。
我愿意为大家整理整理供大家一起学习 |
|
6楼#
发布于:2004-08-19 12:59
已经搞定,现在光驱、软驱测试通过 请简单介绍下原理 |
|
|
7楼#
发布于:2004-08-19 16:06
基本上就是用IoGetRelatedDeviceObject挂接设备
fileSysDevice = IoGetRelatedDeviceObject( fileObject ); pDriverObject = fileSysDevice->DriverObject; 然后拦截此DriverObject的IRP_MJ_CREATE、IRP_MJ_SET_INFORMATION、IRP_MJ_DEVICE_CONTROL |
|
8楼#
发布于:2004-09-01 16:44
你好!
我想知道怎么拦截此DriverObject的IRP_MJ_CREATE、IRP_MJ_SET_INFORMATION、IRP_MJ_DEVICE_CONT; 我写了个Driver,用于屏蔽CDROM,似乎不用用IoGetRelatedDeviceObject吧: DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = MyDrvDeviceControl; DriverObject->MajorFunction[IRP_MJ_SET_INFORMATION] = MyDrvDeviceControl; NTSTATUS MyDrvDeviceControl(IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp ) { NTSTATUS ntStatus; Irp->IoStatus.Status = STATUS_SUCCESS; Irp->IoStatus.Information = 0; //#define FILE_DEVICE_CD_ROM 0x00000002 //#define FILE_DEVICE_CD_ROM_FILE_SYSTEM 0x00000003 if(DeviceObject->DeviceType == FILE_DEVICE_CD_ROM || DeviceObject->DeviceType == FILE_DEVICE_CD_ROM_FILE_SYSTEM) { //???????????? Irp->IoStatus.Information = 1; } ntStatus = Irp->IoStatus.Status; IoCompleteRequest( Irp, IO_NO_INCREMENT ); return ntStatus; } |
|
9楼#
发布于:2004-09-02 11:07
大哥,可以帖个源码来看看吗:)?
偶是新手,求知欲很强。 |
|
10楼#
发布于:2004-09-08 12:05
我是用DDK里边的例子实现的,没想到用驱动过滤做这么简单,强!
|
|
|
11楼#
发布于:2004-09-09 12:08
楼上的很强啊,我是每一种写了一个过滤驱动,看来还需要学习阿!!
|
|
12楼#
发布于:2004-10-19 13:49
ysz_oo:我想问一下,你在拦截到这些IRP后都做了什么处理,返回什么值?我返回STATUS_UNSUCCESSFUL后,想要再让软驱可用就不行了,必须要重启系统才行。
|
|
|
13楼#
发布于:2004-10-20 10:56
返回STATUS_INSUFFICIENT_RESOURCES就行了
|
|
14楼#
发布于:2004-10-21 15:28
ysz_oo:我试了一下,返回STATUS_INSUFFICIENT_RESOURCES还是不行,我试的时候是软驱里没有软盘,如果有软盘的时候禁用软驱,是可以恢复的。我是对\\DosDevice\A:这个设备进行filter的,你呢?
|
|
|
15楼#
发布于:2004-10-22 10:35
对\\Device\\Floppy0拦截,应该可以的
|
|
16楼#
发布于:2004-10-25 13:32
ysz_oo:我试过了,拦截\Device\Floppy0,但如果软驱里没有软盘还是不行。
|
|
|
17楼#
发布于:2004-10-28 11:20
用upperfilter可以阿,直接返回access_denied,就行啦!!
|
|
18楼#
发布于:2004-10-29 09:20
哪位大虾知道如何禁止U盘和移动硬盘呀?
[编辑 - 10/29/04 by aasa2] |
|
|
19楼#
发布于:2004-10-29 10:33
哪位大虾知道如何禁止U盘和移动硬盘呀? 你不是已经实现了吗? |
|
上一页
下一页