阅读:1071回复:1
请教高手-关于在驱动中写操作用户态文件的问题
在用户创建特定文件时,我想由驱动在文件中做一个标识,于是想通过驱动向该文件头部写一个标识串。开始时总是出现非法访问的错误,原因是调用由用户态产生而我从核心态写入,于是我把用户数据备份下来,再把要写入的标识串写到用户的缓冲区中,写完后再恢复(因标识串比较小),结果是成功了!但是又出现了新问题:用户程序向文件写的数据量是11字节,而我的标识是16字节,文件写入后大小就是标识的前11字节;而用户程序写入30字节时,实际写入的内容是标识的16字节加用户数据的前14字节,也就是说突破不了大小的限制。我想可能与文件创建时有关,所以Hook了ZwCreateFile来查看,但其AllocationSize参数为空,EaLength为0,EaBuffer也为空,也就是在创建时没有限制大小呀。
请高手指教这是什么原因呢?如果要达到我的目的,有什么好办法呢?这里先谢了! |
|
|
沙发#
发布于:2004-09-30 09:11
这样处理下去恐怕会遇到很多问题,建议你想其他办法
|
|
|