如何屏蔽USB存储器

warghost Manager  2009-08-31 11:54:29
现在想写一个程序,就是能够在任意USB存储设备插入的时候,不对其添加驱动,且在我的电脑里面不显示盘符,但是USB键盘鼠标等其他USB设备不受影响。
其中,USB存储设备包括优盘、移动硬盘、MP3、读卡器带的CF/TF/MMC/SD等。
在网上搜了很多中方法,貌似没啥管用的,所以向各位大师求助,请大师们给与指点

现在搜到并试验过的方法有:
1、注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR 下面所有的值都试验的更改过了,当没有插过的u盘插上一加载驱动就又能显示盘符了
2、删除USB驱动,其他USB设备无法工作
3、改BIOS,其他USB设备无法工作

以上三种都是没有效果的。。。。
...全文
642 点赞 收藏 19
写回复
19 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
LLanguage 2009-09-22
SetupDiEnumDeviceInfo
不止是有ClassUID一种方式啊!
加个判断Service=USBSTOR
回复
myshinji 2009-09-14
17楼给的东西,太NB了,收藏了!
回复
LLanguage 2009-09-09
这个有简单的实现方法,程序定时枚举设备列表,并禁用usbstor,用setupapi实现,
回复
MoXiaoRab 2009-09-09
[Quote=引用 15 楼 itmes 的回复:]
这个有简单的实现方法,程序定时枚举设备列表,并禁用usbstor,用setupapi实现,
[/Quote]
这样太耗权限了。

http://www.lihuasoft.net/article/show.php?id=755
回复
warghost 2009-09-09
[Quote=引用 15 楼 itmes 的回复:]
这个有简单的实现方法,程序定时枚举设备列表,并禁用usbstor,用setupapi实现,
[/Quote]
是用SetupDiEnumDeviceInfo吗?
我用的ClassUID是36FC9E60-C465-11CF-8056-444553540000,是USB的,结果把USB设备全干掉鸟
具体的USB存储器UID是是啥啊?疯狂的迷惑中。。。。。
回复
warghost 2009-09-08
晕,现在去掉对勾鸟
不过,如何用程序实现设置usbstor.pnf与inf的权限呢?用什么函数呢?
写注册表也碰到问题了,我定义DWORD型的变量,值赋给3与4,但是写4的时候都没有问题,写3的时候总是变成不正确的DWORD值,查看二进制,
4的时候是 0000 04 00 00 00
但是
3的时候就变成了 0000 03 00 00

不知道为什么
回复
yangbo_cuit 2009-09-08
学习,帮顶
回复
fly4free 2009-09-05
[Quote=引用 11 楼 warghost 的回复:]
引用 9 楼 myshinji 的回复:
...

貌似我是NTFS,但是属性里面确实没有安全那一项,而且简单文件共享也一直都有对勾,查看高级里面有“系统所属文件夹,已经禁用了其他属性选项”
[/Quote]

一直都有对勾就错了!
回复
warghost 2009-09-03
[Quote=引用 9 楼 myshinji 的回复:]
只要你的分区是NTFS的,就会有安全选项卡

打开“我的电脑”->点击菜单项“工具”->“文件夹选项”->点击“查看”选项卡
在下面的高级设置中,找到“使用简单文件共享 (推荐)”,确定该项没有打钩,
点击“确定”即可。
[/Quote]

貌似我是NTFS,但是属性里面确实没有安全那一项,而且简单文件共享也一直都有对勾,查看高级里面有“系统所属文件夹,已经禁用了其他属性选项”
回复
MoXiaoRab 2009-09-02
[Quote=引用 9 楼 myshinji 的回复:]
只要你的分区是NTFS的,就会有安全选项卡

打开“我的电脑”->点击菜单项“工具”->“文件夹选项”->点击“查看”选项卡
在下面的高级设置中,找到“使用简单文件共享 (推荐)”,确定该项没有打钩,
点击“确定”即可。
[/Quote]
对的
回复
myshinji 2009-09-02
只要你的分区是NTFS的,就会有安全选项卡

打开“我的电脑”->点击菜单项“工具”->“文件夹选项”->点击“查看”选项卡
在下面的高级设置中,找到“使用简单文件共享 (推荐)”,确定该项没有打钩
点击“确定”即可。
回复
龙哥教编程 2009-09-01
usb只是一种硬件接口,如果usb这个硬件没有实现区分功能,是不可能的。


如果usb这个硬件实现区分功能,如果内核中usb驱动程序没有实现,照样不可能。更不要说api层。

1、注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR 下面所有的值都试验的更改过了,当没有插过的u盘插上一加载驱动就又能显示盘符了、//这只是api层以上的事
2、删除USB驱动,其他USB设备无法工作 //这是内核中usb驱动程序层的事
3、改BIOS,其他USB设备无法工作 //这是硬件中断层的事
回复
warghost 2009-09-01
[Quote=引用 4 楼 jslisong 的回复:]
可以将 USB Mass Storage Device --> Disable 。
[/Quote]
[Quote=引用 5 楼 dirdirdir3 的回复:]
USB Mass Storage Device这个驱动去掉
[/Quote]
[Quote=引用 6 楼 slek 的回复:]
usb过滤驱动
[/Quote]
具体如何用代码实现,可否详细说明下,多谢多谢
回复
warghost 2009-09-01
[Quote=引用 3 楼 tr0j4n 的回复:]
如果计算机上尚未安装 USB 存储设备,请向用户或组分配对下列文件的“拒绝”权限:
%SystemRoot%\Inf\Usbstor.pnf
%SystemRoot%\Inf\Usbstor.inf
这样,用户将无法在计算机上安装 USB 存储设备。 要向用户或组分配对 Usbstor.pnf 和 Usbstor.inf 文件的“拒绝”权限,请按照下列步骤操作:
启动 Windows 资源管理器,然后找到 %SystemRoot%\Inf 文件夹。
右键单击“Usbstor.pnf”文件,然后单击“属性”。
单击“安全”选项卡。
在“组或用户名称”列表中,单击要为其设置“拒绝”权限的用户或组。
在“UserName or GroupName 的权限”列表中,单击以选中“完全控制”旁边的“拒绝”复选框,然后单击“确定”。
注意:此外,还需将系统帐户添加到“拒绝”列表中。
右键单击“Usbstor.inf”文件,然后单击“属性”。
单击“安全”选项卡。
在“组或用户名称”列表中,单击要为其设置“拒绝”权限的用户或组。
在“UserName or GroupName 的权限”列表中,单击以选中“完全控制”旁边的“拒绝”复选框,然后单击“确定”。
[/Quote]

今天试了试,前面修改权限的usbstor.inf与usbstor.pnf貌似真的没有"安全"这一项
ps:我用的是安装版的xp,不是被阉割过的克隆版
后面的修改注册表一旦用控制面板对u盘再加载驱动,那个start项就被修改回来了
回复
西山小月 2009-09-01
usb过滤驱动
回复
dirdirdir3 2009-09-01
USB Mass Storage Device这个驱动去掉
回复
可以将 USB Mass Storage Device --> Disable 。
回复
MoXiaoRab 2009-09-01
如果计算机上尚未安装 USB 存储设备,请向用户或组分配对下列文件的“拒绝”权限:
%SystemRoot%\Inf\Usbstor.pnf
%SystemRoot%\Inf\Usbstor.inf
这样,用户将无法在计算机上安装 USB 存储设备。 要向用户或组分配对 Usbstor.pnf 和 Usbstor.inf 文件的“拒绝”权限,请按照下列步骤操作:
启动 Windows 资源管理器,然后找到 %SystemRoot%\Inf 文件夹。
右键单击“Usbstor.pnf”文件,然后单击“属性”。
单击“安全”选项卡。
在“组或用户名称”列表中,单击要为其设置“拒绝”权限的用户或组。
在“UserName or GroupName 的权限”列表中,单击以选中“完全控制”旁边的“拒绝”复选框,然后单击“确定”。
注意:此外,还需将系统帐户添加到“拒绝”列表中。
右键单击“Usbstor.inf”文件,然后单击“属性”。
单击“安全”选项卡。
在“组或用户名称”列表中,单击要为其设置“拒绝”权限的用户或组。
在“UserName or GroupName 的权限”列表中,单击以选中“完全控制”旁边的“拒绝”复选框,然后单击“确定”。
回复
发动态
发帖子
硬件/系统
创建于2007-09-28

2590

社区成员

VC/MFC 硬件/系统
申请成为版主
社区公告
暂无公告