您现在的位置: > 首页 > 程序开发 > C语言教程
>> 最新教程
>> 热门教程
>> 最新游戏资讯
>> 热门游戏资讯
移动存储安全
作者:本站                来自:安迪教程网                 加入时间:08-07-22                进入论坛讨论

  本文示例源代码或素材下载

  摘要:实现对移动存储设备的加密,保护信息隐蔽,防止隐私泄露。

  关键字:移动存储设备加密安全

  当你的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可查询到该函数原型:

<<< << < 1 2 > >> >>>
联系方式:QQ:6084884 email:agwcn@126.com 粤ICP备05055782号
本网站中发布的文章只代表发表人的个人观点,不代表安迪教程网网站的立场
copyright© 2000-2004 安迪教程网 All rights reserved agwcn.com