驱动已调试没有问题,
加取反算法也是没有问题的,
都是用U盘测试的,现在换了aes算法有个奇怪的问题??
注:  目标机 -- 为加载驱动的机器   主机 --- 为未加载驱动的机器
1. 在目标机中格式化一个u盘,用winhex 打开显示是加密后的数据,可以朝u盘创建文件, 也可以打开文件;
2. 我到主机中用winhex打开显示是明文, 但无法打开u盘,并且创建的文件及内容是密文?问1: 格式化后在目标机中,不应该都是明文的吗?
问2: 主机中应该显示的都是密文啊, 怎么会有明文的?很矛盾.....

解决方案 »

  1.   

    看起来像是Vista中的BitLocker功能。你的驱动程序处理了哪些请求?没有处理格式化吧?
    用WinHEX查看的是哪里的数据?
      

  2.   

    xp啊,
    create 
    close
    read 
    write 
    pnp 
    power 
    cleanup
    deviceiocontrol(自己定义的两个控制码)
    winhex查看的u盘的数据啊,第一个扇区,第32个扇区,还有就是我创建文件的数据存放的扇区..
      

  3.   

    我说的是你做的功能像是Vista中的BitLocker功能。格式化是通过DeviceControl来实现的,如果没有处理会有问题,先把这个问题处理完再看是否正常。
    参考一下IOCTL_DISK_FORMAT_TRACKS和IOCTL_DISK_FORMAT_TRACKS_EX,不过也有可能这两个都不是,因为我也没试过,说不准。
      

  4.   

    会不会是这样:
    我对fido的deviceiocontrol是直接发到下层的,cdo中自己定义了两个,因为格式化的时候调用的是deviceiocontrol处理,  没有经过fido的read,write所以是明文,并且在检测u盘挂载u盘的时候也都是通过deviceiocontrol的, 所以能正常识别u盘的分区表等信息,但读写的时候肯定要经过read,write所以是密文??呵呵,有点像!!! 这样就能说的通了....
    不过还有个问题??  要是这样主机上应该也能识别u盘,不会提示要格式化了,  会不会是fat表是密文的原因呢 ??
      

  5.   

    因为现在你处理的不全面,所以不好判断问题,先把DeviceControl处理好再看还有没有其它问题。
      

  6.   

    对过滤设备对象 我是把所有的deviceiocontrol直接发到下层了,都交给底层驱动处理了, 还不全面吗??
    控制设备对象   自己定义的两个...其他的不处理,返回无效的设备请求.
      

  7.   

    格式化是要写盘的,格式化是通过DeviceControl实现的,如果你不处理,那么格式化写入的就是未加密的数据了。此外有关分区信息的访问好象也会用DeviceControl,我记不太清了。
      

  8.   

    我正在学习过滤驱动加密的东东,版主能不能给我把你的过滤驱动程序发送过来啊,小弟学习了!万分感激[email protected]