编写 USB 存储设备使用痕迹检测和删除工具.docVIP

编写 USB 存储设备使用痕迹检测和删除工具.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编写USB存储设备使用痕迹检测和删除工具要点

编写 USB 存储设备使用痕迹检测和删除工具 (C# Windows Form 编程练习) 第一节 准备知识 之前一直都是用 Visual Basic .Net 来写 Windows Form 程序。这几天,熟悉了一下 C# 语言的语法,想练习一下。以前使用过一些 USB 存储设备使用痕迹检测和删除工具,于是想写了一个小工具来模拟这些功能。 USB 存储设备在使用后会在注册表留下一些记录,一般是通过检索相应的注册表键值来检查使用痕迹。这些键值包括: [csharp] view plain copy print? HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX(CurrentControSetXXX)\Enum\USB?? HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX(CurrentControSetXXX)\Enum\USBSTOR?? HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX(CurrentControSetXXX)\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b}?? HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX(CurrentControSetXXX)\Control\DeviceClasses\{a5dcbf10-6530-11d2-901f-00c04fb951ed}?? HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX(CurrentControSetXXX)\Enum\USB HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX(CurrentControSetXXX)\Enum\USBSTOR HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX(CurrentControSetXXX)\Control\DeviceClasses\{53f56307-b6bf-11d0-94f2-00a0c91efb8b} HKEY_LOCAL_MACHINE\SYSTEM\ControlSetXXX(CurrentControSetXXX)\Control\DeviceClasses\{a5dcbf10-6530-11d2-901f-00c04fb951ed} 其中 ControlSetXXX 和 CurrentControlSetXXX 表示的是注册表中的类似于 ControlSet001、ControlSet002、CurrentControlSet 这样的子键(CurrentControlSet 子键一般只有一个,特殊情况下可能有 CurrentControlSet001 等多个,同样的 ControlSet 一般只有 ControlSet001 和 ControlSet002 这两个,特殊情况下可能会有多个),CurrentControlSet 保存的是系统的当前的一些配置信息,而 ControlSet001 等则是对当前配置信息的备份,一般注册表都会有两个以上的备份,有的时候可能会有更多。在 ControlSetXXX 中的信息和 CurrentControlSet 中的信息一般都是一样的,所以在检测和删除 USB 存储设备信息时,不仅要检测 CurrentControlSet 子键,也要检测 ControlSetXXX 子键。 对于 Enum\USB 子键,其中存储的是曾经连接到系统的 USB 设备的一些信息,包括 USB 鼠标、键盘、光驱、手机、移动硬盘、摄像头、U 盘等,所以并不是所有的信息都是 USB 存储设备信息,虽然把这些信息删除并无大碍(因为删除的只是这些设备的一些连接信息和相应的驱动信息,并不是删除系统的实际驱动文件,所以系统会自动重新识别这些设备),但为了提高识别精确性,还是增加一些判断来得好些。 而对于 Enum\USBSTOR 子键来说,则相当于把 USB 存储设备的信息单独分离出来了,该子键下存储的信息都是曾经连接到计算机的 USB 存储设备的相关信息。这些信息详细列出了该 USB 存储设备的类型、硬件 ID、设备描述、友好名称等信息。 对于 Control\DeviceClasses 来说,该子键下存储的是以 GUID 分类的设备信息,其中有几个是和 USB 设备有关的(它们在微软的 USB 和存储设备输入输出控制头文件 USBIODEF.H 和NTDDSTOR.H 中定义): [csharp] view plain copy print? {A5DCBF10-6530-11D2-901F-00C04F

文档评论(0)

dajuhyy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档