阅读:1891回复:13
加密u盘读写数据的问题(送50分)
各位大侠,我现在写了一个u盘的过滤驱动,对往u盘写的数据加密,读数据的时候进行解密,目前出现的问题是往u盘写数据没问题,但是读的时候有时候可以,但很多情况下都是显示乱码,或是提示文件破坏无法读取,但如果写数据后,将u盘拔出再插上的话,又能看到文件图标,但是无法打开文件。我是在dispatch中处理写数据,在完成例程中处理读数据,加解密算法应该没错,不知道问题出在哪,请指点,谢谢!
|
|
最新喜欢:![]() |
沙发#
发布于:2005-06-10 17:19
在硬件过滤上写加密比较危险.
因为很多时候写下去的并不时文件内容,而是分区表等等. 一般会在文件系统中做 |
|
驱动老牛
![]() |
板凳#
发布于:2005-06-10 17:33
在硬件过滤上写加密比较危险. 还没听说过 |
|
驱动老牛
![]() |
地板#
发布于:2005-06-10 17:39
根据READCAPS中设备声明的块大小,按那个大小为分组进行加密,一般是512
从文件系统做会玩死你,嘿嘿。 |
|
地下室#
发布于:2005-06-10 19:24
我是按每8个字节进行加密的,应该对分区表没有影响,不知道在同一个diapatch中同时处理读和写(根据SRB的操作码),会不会发生冲突,需不需要进行排队,请指点!
|
|
驱动老牛
![]() |
5楼#
发布于:2005-06-12 09:26
我是按每8个字节进行加密的,应该对分区表没有影响,不知道在同一个diapatch中同时处理读和写(根据SRB的操作码),会不会发生冲突,需不需要进行排队,请指点! 应该对分区表有影响,设备接入系统,系统就会写一下,但是只要读和写加解密透明就没有问题。不用排队,它是一个一个处理的。 |
|
6楼#
发布于:2005-06-13 09:00
在u盘初始化时,写MBR,分区表时都是加密后写进去的,所以插上设备后,系统能够看到盘符,双击u盘也能够打开,显示的容量也是对的,但是写一个文件进去后,刷新一下,很多情况就出现乱码了或者打开时显示文件已破坏无法读出,有时也能正确显示出来。关键是在这一点上不知道是哪里出了问题,希望能得到大家帮助,谢谢!
|
|
驱动老牛
![]() |
7楼#
发布于:2005-06-13 18:21
在u盘初始化时,写MBR,分区表时都是加密后写进去的,所以插上设备后,系统能够看到盘符,双击u盘也能够打开,显示的容量也是对的,但是写一个文件进去后,刷新一下,很多情况就出现乱码了或者打开时显示文件已破坏无法读出,有时也能正确显示出来。关键是在这一点上不知道是哪里出了问题,希望能得到大家帮助,谢谢! 估计要么是加解密没弄对 要不就是原来存在明文数据 创建文件得时候要修改目录表,估计目录表在加密得时候坏了。 |
|
8楼#
发布于:2005-06-15 10:14
谢谢zhangshengyu大哥指点,小弟目前还是在这里一筹莫展,如果说是加解密没弄对,那我用bushound监测,加密数据是对的,我猜想,是不是有可能某些数据没有经过filter呢?
小弟放分了! |
|
驱动老牛
![]() |
9楼#
发布于:2005-06-15 12:47
是不是有可能某些数据没有经过filter呢? 很有可能,因为有缓存,但是如果点击安全删除图标进行删除的话,在U盘移除的时候 缓存会把所有未写入的数据写进去。 |
|
10楼#
发布于:2005-06-17 09:41
如果从缓存读取数据,那这个缓存是用户缓冲还是内核缓冲呢?
不知道谁有这方面的资料或者能够在方法上提供些指导,谢谢! |
|
11楼#
发布于:2005-06-20 13:35
我从文件系统做的,效果还不错
|
|
12楼#
发布于:2005-06-20 18:36
往u盘写数据的时候,加密数据写入cache中,能否在写数据后再次解密cache,这样系统读数据的时候就不会出现乱码了,不知这种方法能否实现呢?
|
|
13楼#
发布于:2005-06-20 18:37
往u盘写数据的时候,加密数据写入cache中,能否在写数据后再次解密cache,这样系统读数据的时候就不会出现乱码了,不知这种方法能否实现呢?
|
|