欢迎来到天天文库
浏览记录
ID:41052069
大小:702.50 KB
页数:16页
时间:2019-08-15
《编写 USB 存储设备使用痕迹检测和删除工具》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、编写USB存储设备使用痕迹检测和删除工具(C#WindowsForm编程练习)第一节准备知识之前一直都是用VisualBasic.Net来写WindowsForm程序。这几天,熟悉了一下C#语言的语法,想练习一下。以前使用过一些USB存储设备使用痕迹检测和删除工具,于是想写了一个小工具来模拟这些功能。USB存储设备在使用后会在注册表留下一些记录,一般是通过检索相应的注册表键值来检查使用痕迹。这些键值包括:[csharp]viewplaincopyprint?1.HKEY_LOCAL_MACHINESYSTEMControlSetXXX(Curre
2、ntControSetXXX)EnumUSB 2.HKEY_LOCAL_MACHINESYSTEMControlSetXXX(CurrentControSetXXX)EnumUSBSTOR 3.HKEY_LOCAL_MACHINESYSTEMControlSetXXX(CurrentControSetXXX)ControlDeviceClasses{53f56307-b6bf-11d0-94f2-00a0c91efb8b} 4.HKEY_LOCAL_MACHINESYSTEMControlSetXXX(CurrentC
3、ontroSetXXX)ControlDeviceClasses{a5dcbf10-6530-11d2-901f-00c04fb951ed} HKEY_LOCAL_MACHINESYSTEMControlSetXXX(CurrentControSetXXX)EnumUSBHKEY_LOCAL_MACHINESYSTEMControlSetXXX(CurrentControSetXXX)EnumUSBSTORHKEY_LOCAL_MACHINESYSTEMControlSetXXX(CurrentControSetXXX)
4、ControlDeviceClasses{53f56307-b6bf-11d0-94f2-00a0c91efb8b}HKEY_LOCAL_MACHINESYSTEMControlSetXXX(CurrentControSetXXX)ControlDeviceClasses{a5dcbf10-6530-11d2-901f-00c04fb951ed}其中ControlSetXXX和CurrentControlSetXXX表示的是注册表中的类似于ControlSet001、ControlSet002、CurrentControlSet这样的子
5、键(CurrentControlSet子键一般只有一个,特殊情况下可能有CurrentControlSet001等多个,同样的ControlSet一般只有ControlSet001和ControlSet002这两个,特殊情况下可能会有多个),CurrentControlSet保存的是系统的当前的一些配置信息,而ControlSet001等则是对当前配置信息的备份,一般注册表都会有两个以上的备份,有的时候可能会有更多。在ControlSetXXX中的信息和CurrentControlSet中的信息一般都是一样的,所以在检测和删除USB存储设备信息时,不
6、仅要检测CurrentControlSet子键,也要检测ControlSetXXX子键。对于EnumUSB子键,其中存储的是曾经连接到系统的USB设备的一些信息,包括USB鼠标、键盘、光驱、手机、移动硬盘、摄像头、U盘等,所以并不是所有的信息都是USB存储设备信息,虽然把这些信息删除并无大碍(因为删除的只是这些设备的一些连接信息和相应的驱动信息,并不是删除系统的实际驱动文件,所以系统会自动重新识别这些设备),但为了提高识别精确性,还是增加一些判断来得好些。而对于EnumUSBSTOR子键来说,则相当于把USB存储设备的信息单独分离出来了,该子键下
7、存储的信息都是曾经连接到计算机的USB存储设备的相关信息。这些信息详细列出了该USB存储设备的类型、硬件ID、设备描述、友好名称等信息。对于ControlDeviceClasses来说,该子键下存储的是以GUID分类的设备信息,其中有几个是和USB设备有关的(它们在微软的USB和存储设备输入输出控制头文件USBIODEF.H和NTDDSTOR.H中定义):[csharp]viewplaincopyprint?1.{A5DCBF10-6530-11D2-901F-00C04FB951ED} GUID_DEVINTERFACE_USB_DEVICE
8、2.{3ABF6F2D-71C4-462A-8A92-1E6861E6AF27} GUID_DEVINTER
此文档下载收益归作者所有