本地U盘禁用工具

 

以前做过的一个小工具(VB6开发,XP,2003系统正常运行)

 

CSDN下载:http://download.csdn.net/detail/guoyi987/4072596 

 

 

技术原理:

1.修改注册表中的一个项。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbstor

当 Start 项 值为  4 时,系统禁用盘符自动分配,为3时,开启盘符自动分配。

当插入一个U盘,这个U盘从来没有插入过这台电脑的时候,值必须为3,才能识别U盘

 

2.删除usb储存设备驱动部分文件。

windows系统目录下这两个文件:

%Windir%\inf\usbstor.inf

%Windir%\inf\usbstor.pnf

 负责usb储存设备的加载。

 

第一项的注册表禁用之后,如果插入这台电脑以前已经插入过的U盘,依然会被识别出来,把这两个文件删掉,或者改名,系统就所有usb存储设备都认不出来了,包括量产过的U盘CDROM,U盘的网银设备。当然,其他的usb设备还是可以用的,比如usb接的打印机。

 

这软件默认把 %Windir%\inf\usbstor.inf ,%Windir%\inf\usbstor.pnf

修改为%Windir%\back001,%Windir%\back002

禁用后手动恢复效果一样。

 


 

3.盘符的隐藏。 

通过注册表隐藏盘符
启动注册表编辑器,进入HKEY_ CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\ Explorer,新建二进制值“NoDrives”,缺省值是00000000,表示不隐藏任何驱动器。键值由4个字节组成,每个字节的每一位(bit)对应从A到Z的一个盘,当相应位为1时,“我的电脑”中的相应驱动器就被隐藏了。第一个字节代表从A到H的八个盘,即01为A、02为B、04 为C……依此类推,第二个字节代表I到P;第三个字节代表Q到X;第四个字节代表Y和Z。要关闭C盘,将键值改为04000000;要关闭D盘,改为 08000000。如果关闭的盘符为光驱的盘符,光驱就被隐藏了。当然,用注册表编辑器修改注册表操作起来较为复杂,现在有很多专门修改注册表的软件,使用起来非常方便。另外特别提醒大家在修改注册表前,一定要注意注册表文件的备份。打开注册表进入以下路径:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\
新建键值NoDrives,这个键的键值就是隐藏盘符的关键了,下面是一张隐藏数值例表(二进制).
盘符 A B C D E F G H (八位分别对应八个字母(盘符)
数值 01000000 02000000 04000000 08000000 10000000 20000000 40000000 80000000
盘符 I J K L M N O P
数值 00010000 00020000 00040000 00080000 00100000 00200000 00400000 00800000
盘符 Q R S T U V W X
数值 00000100 00000200 00000400 00000800 00001000 00002000 00004000 00008000
盘符 Y Z      
数值 00000001 00000002

禁用一个驱动器

其实只要在注册表里稍微发动一下,禁止别人访问硬盘.  
在HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\POLICIES\EXPLORER里建立主键NoViewOnDrive,Dword类型,设置它的值为4即可不让别人访问C盘,值为12(10进制)可以控制C和D盘.设置为255可以控制你的大部分磁盘不被访问(10进制).  
如果你要用的时候可以把它的值设置为0即可.
操作如下:
“开始”→“运行”→输入“regedit”,打开注册表,找到以下键值HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer,在右侧窗口新建二进制值“NoViewOnDrive”,对应键值:
A:01000000 B:02000000 C:04000000 D:08000000
E:10000000 F:20000000 G:40000000 H:80000000
I:00010000 J:00020000 K:00040000 L:00080000

当要阻止两个以上盘时,将该数据相加即可,如阻止E、F盘,数值为30000000。

恢复:在注册表中删除NoViewOnDrive键值,或将NoViewOnDrive值设为0。
 

 

这样,即使上面的两道关卡被破,相对应的盘符,在我的电脑里面还是不能直接双击打开的。

 

4.禁用注册表

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\system

下的DisableRegistryTools  项,为1时,运行下regedit命令被禁用,防止用户打开注册表修改。为0时,能正常打开。

 

 

 

 

当然,还可以有别的方法实现, 

比如把C盘做成NTFS格式,把usbstor.inf  ,usbstor.pnf ,usbstor.sys 这三个文件设置为普通用户禁止访问,让用户以普通用户身份登录系统。这样效果应该和以上4个步骤一样

BIOS禁用USB设备,或者在硬件管理器里面,把usb相关的设备禁用,这样所有的usb设备,包括打印机也不能用了,一棒子打死全部usb设备。

再深层次的,自写驱动,挂钩系统内核函数,这样做U盘传输文件的监控应该都可以了。

 

 

 

 

 

 

曾经给单位做过的成品的远程USB批量管理软件,纪念下。这个就不上传了,每个局域网结构不会都一样,只有技术才是通用的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
接到一个任务,禁止集团内所有电脑的USB接口进行文件拷贝,但不能妨碍打印机、鼠标键盘、扫描仪、加密狗等等一切需要USB接口工作的外部设备。 纠结了,这不摆明了让我蛋疼吗? 不过,疼归疼,办法总是要想滴,说白了不就是不让人把公司的机密资料带出去吗?现在这些人,暴力管理还找一大堆冠冕堂皇的理由让你无条件服从,P服!哥们我楞是从中总结出一条真理:世界上没有办不到的事,只是你愿不愿意想办法。 不罗嗦,开工,首先了解任务的详细内容: 任务目的: 1、要管制USB存储设备,一般用户不能不能读;部分用户能读不能写入USB存储设备;还有一部分大人们(公司高管)平时不读不写,在需要用的时候要能读能写! 2、无论使用什么方式进行管制,不能影响到现在USB打印机、扫描仪、加密狗、鼠标键盘等等外部设备的使用。 额滴神,这帮兔崽子真会折磨人。 任务范围:集团内800+台电脑 任务时间:2周 接下来,就得找实施方案了! 1、方案一:BIOS里全部关闭USB端口 2、方案二:Client端安装USB管理软件,用软件进行管制,安装一台服务器,监控所有电脑的USB动态 3、方案三:从操作系统注册表下手,批处理执行管理 先说说这三个方案:恕本人愚昧,或许还有很多又好又快捷的方法,但偶当时确实只想到这些, 方案一:最操蛋的方法,端口全关了,什么USB设备都用不了了,就别提这机那机了,PASS掉, 方案二:所有电脑安装Client,工作量大,时间根本不够,再说了,我很介意在用户端安装软件,多一个进程多占用一部分内存,到时候电脑速度慢了又会有人大呼小叫了。仍然PASS, 第三个,其实这也是俺最喜欢用的手段:批处理!哈哈,就它了。 各位观众,看清楚看明白啦,实施过程开始! 1、首先,关闭USB存储设备的盘符自动分配,打开注册表,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR,将”Start”的值改为4(禁止自动启动),默认为3是自动分配盘符 2、干掉USB存储设备的作用文件:进入WINDOWS系统目录,找到X:\Windows\inf,这里说明一下,USB存储设备的作用文件有两个,分别是usbstor.inf和usbstor.pnf,因为后续可能需要重新打开USB功能,所以不要删除它,建议拷贝到其他位置,当然你要暴力一点,删除它也没关系,但记得做好备份。 我用两条批处理指令实现: copy %Windir%\inf\usbstor.inf %Windir%\usbstor.inf /y >nul copy %Windir%\inf\usbstor.pnf %Windir%\usbstor.pnf /y >nul del %Windir%\inf\usbstor.pnf /q/f >nul del %Windir%\inf\usbstor.inf /q/f >nul 哦不,准确的说是4行指令! 3、然后,禁止将电脑里的资料拷贝到USB存储设备,意思是把USB存储设备设置只读的,干成残废。 打开注册表:定位到HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control,在其下新建一个名为“StorageDevicePolicies”的项,选中它,在右边的窗格中新建一个名为“WriteProtect”的DWORD值,并将其数值数据设置为1 嘿嘿,有了这一条,你就是能用USB存储设备,也只能单方面读取数据了,也算是半个残废了。 到此,基本上第一个过程基本完成,实现的功能包括:禁止使用USB存储设备,不影响其他USB外设,就算要用,也把USB存储设备干成残废(只读)。 接下来说第二个部分:如何开启?(部分用户需要使用USB存储设备) 实际上,逆向操作以上步骤就可以完成开启,但为了表达的更完整一些,我还是把过程写下来 1、找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR,将”Start”的值改为3 2、恢复USB存储设备作用文件,还是4行指令: copy %Windir%\usbstor.inf %Windir%\inf\usbstor.inf /y >nul copy %Windir%\usbstor.pnf %Windir%\inf\usbstor.pnf /y >nul del %Windir%\usbstor.pnf /q/f >nul del %Windir%\usbstor.inf /q/f >nul 完成后,用户可使用USB存储设备,但不能往里面写入任何内容!你不信?不信就试试嘛,俗话说的好:实践出真知! 不好意思,扯远了! 这样,关闭也写了,开启也写了,接下来的事情,你知道的。 批处理代码,哈哈! 关闭过程: @echo off reg add “HKEY_LOCAL_ MACHINESYSTEMCurrentControlSet ControlStorageDevicePolicies“ /v WriteProtect /t reg_dword /d 1 /f reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR” /v Start /t reg_dword /d 4 /f copy %Windir%\inf\usbstor.inf %Windir%\usbstor.inf /y >nul copy %Windir%\inf\usbstor.pnf %Windir%\usbstor.pnf /y >nul del %Windir%\inf\usbstor.pnf /q/f >nul del %Windir%\inf\usbstor.inf /q/f >nul @echo on 开启过程: @echo off reg add “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR” /v Start /t reg_dword /d 3 /f copy %Windir%\usbstor.inf %Windir%\inf\usbstor.inf /y >nul copy %Windir%\usbstor.pnf %Windir%\inf\usbstor.pnf /y >nul del %Windir%\usbstor.pnf /q/f >nul del %Windir%\usbstor.inf /q/f >nul @echo on 将以上代码保存为两个BAT文档,然后放进x:\Windows\system32\目录下,比如DisableUSB.bat和EnableUSB.bat 然后直接在运行里面输入指令:DisableUSB (关闭)EnableUSB(开启) 打完收工!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值