Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11592460
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-07-28 15:31:08


当你的U盘,移动硬盘遗失了,被盗了,或者是遗忘在公共场所,里面的资料就会完全被别人窥探,如果涉及一些隐私,机密,那后果是很严重的。本课题就是在这样一个情况下产生的。这里剖析的只是一个最初的演示原型,详细设计,以及一些细节可以参考源代码。源代码在WinXP,VC6.0编译通过。  1、访问注册表读取计算机上的移动存储设备
  在注册表
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDiskEnum   下面可以看到计算机当前的状态,这里可以看到所有的存储设备的情况,包括计算机的硬盘,通过情况下,名称为0的是计算机硬盘,所以在列出的选择设备时,会把名称为0的屏蔽,不然太危险,一旦造成系统的破坏,后果会很麻烦。对注册表的读写:
HKEY hkey;
char sz[256];
DWORD dwtype,sl = 256;
for(int i=1;i<8;i++)
{
  if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SYSTEM\CurrentControlSet\Services\Disk\Enum",
    NULL, KEY_ALL_ACCESS, &hkey)==ERROR_SUCCESS)
  {
    CString id;
    id.Format("%d",i);
    if(RegQueryValueEx(hkey,id,NULL,&dwtype,(LPBYTE)sz,&sl)==ERROR_SUCCESS)
    {
      CString str=(CString)sz;
      m_select.AddString(sz);
    }
  }
}
RegCloseKey(hkey);2、对磁盘的扇区的操作   Windows 操作系统在很大程度上采取了访问安全保护机制(例如,在Windows操作系统下不能直接访问物理内存、不能使用各种DOS、BIOS中断等等),其实Windows在采取“实保护”措施的同时也提供了另外的一种有别于在DOS下访问硬件设备的方法,即把所有的硬件设备全部看做“文件”,并允许按照对文件的读写方式来对其进行数据存取访问。对于磁盘扇区的读写,可以通过C++的CreateFile()函数来实现。由MSDN可查询到该函数原型:
阅读(654) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-11-18 10:20:53

www.hanweizh.net.cn:捍卫者Usb安全管理系统,国内真正完整的计算机端口和移动存储安全解决方案:1)国内率先支持VISTA系统。2)可以管理USB端口、红外、蓝牙、光驱软驱、串口、并口、打印机等多种设备。3)可以分部门、个人绑定使用移动设备 4)对移动存储设备、光驱提供只读、禁用、开放多个模式管理未授权移动设备5)日志审计完备,除文件操作日志外还提供携出盘盘内日志记录用于外携使用后的审计。6)国内极少数通过公安部认证产品。7)管理USB存储设备不影响其他USB设备使用。