阅读:3318回复:24
在同一个逻辑盘中移动文件时,如何进行加解密?
例如,d:\test是加密目录,把d:\file.txt移动到d:\test中,需要对该文件进行加密,但该操作没有触发write处理。
根据操作经验,同一个逻辑盘中文件移动好像没有移动数据?? 请有经验者指点一二,不胜感谢。 |
|
沙发#
发布于:2007-06-06 16:48
only rename...
|
|
板凳#
发布于:2007-06-06 17:52
如何获取数据,以进行加解密呢?
|
|
地板#
发布于:2007-06-07 14:43
|
|
地下室#
发布于:2007-06-07 14:54
|
|
|
5楼#
发布于:2007-06-07 17:39
现在有一个思路,正准备试一试:
在IRP_MJ_SET_INFORMATION对应的函数中可以取得源文件和目标文件,然后自己发送一个read或write IRP进行加解密(加解密可根据源和目标文件是否在加密目录中来判断)。 此方法不知是否可行。 |
|
6楼#
发布于:2007-06-07 23:21
很难同时取得源文件名和目的文件名,因为读写没有必然联系。至少我做不到
|
|
7楼#
发布于:2007-06-08 08:38
文件名我已取到,具体参考\WINDDK\3790\src\filesys\OSR_docs下Rename.pdf中介绍的方法
|
|
8楼#
发布于:2007-06-18 08:41
文件名虽然取到,但不知如何进行读写。
试过用zwopen方法打开,然后再读写,但zwopen时报0xC0000043错误(STATUS_SHARING_VIOLATION)。 不知该方法思路是否有问题? |
|
9楼#
发布于:2007-06-19 14:48
有人做过同一个逻辑盘移动文件时对文件进行加解密处理吗?
|
|
10楼#
发布于:2007-07-17 17:25
该问题解决,有需要者请留下联系方式
|
|
11楼#
发布于:2007-07-19 09:34
引用第10楼hhyDriver于2007-07-17 17:25发表的 : 你真的解决了,在我想来,同一个逻辑盘内移动文件,就是文件改名。如果想在这个过程中对文件进行加解密,只有通过应用层了。帮你的实现给我发一个,我瞅瞅,fslife@tom.com |
|
|
12楼#
发布于:2007-07-19 13:55
|
|
13楼#
发布于:2007-07-19 13:59
不需要管文件名的,只认FileObject->FsContext就好了
|
|
14楼#
发布于:2007-07-19 18:08
主要功能实现了,但还有一些小问题(目前测试情况看,此问题对功能没有影响)。
实现思路: (1)在IRP_MJ_SET_INFORMATION对应函数中先取得源和目标 (2)若源是文件,在目标处创建文件,然后发送irp拷贝数据,完成后删除源 若源是目录,则需先发irp遍历目录,把目录中所有文件采用上述方法拷贝(当然有目录需要在目标处创建目录。 注:(1)取源和目标参考\WINDDK\3790\src\filesys\OSR_docs下Rename.pdf (2)发送irp拷贝数据参考\WINDDK\3790\src\filesys\OSR_docs下BuildingIrps.pdf.pdf,对应例子驱动网上有 存在的问题:有时不出现移动进度条。 |
|
15楼#
发布于:2007-07-19 18:12
不需要管IRP_MJ_SET_INFORMATION吧,
文件名改了,FileObject->FsContext是不会变的 |
|
16楼#
发布于:2007-07-20 08:53
引用第15楼lsxredrain于2007-07-19 18:12发表的 : 你的意思是:(1)此方法不能实现加解密?(2)不用此方法也可以实现加解密?或(3)其它? 若是(2)和(3),请具体说说。 |
|
17楼#
发布于:2007-07-22 10:48
FileObject->FsContext不会因为文件名变而变,
因此只要把FileObject->FsContext保存下来, 比对FileObject->FsContext是不是需要加密解密就行 如果没有其他用途,是不需要去考虑IRP_MJ_SET_INFORMATION的 |
|
18楼#
发布于:2007-07-22 13:43
tooflat 的代码不是实现这个功能了吗
|
|
19楼#
发布于:2007-07-23 17:17
hhyDriver 兄,我要一份了,先谢过。
email:wengzuhong@tom.com |
|
上一页
下一页