fatmouse527
驱动牛犊
驱动牛犊
  • 注册日期2006-12-27
  • 最后登录2009-04-10
  • 粉丝1
  • 关注0
  • 积分347分
  • 威望85点
  • 贡献值0点
  • 好评度81点
  • 原创分1分
  • 专家分0分
阅读:1934回复:14

运行tooflat的sfilter的蓝屏问题,请大家帮忙,感激不尽

楼主#
更多 发布于:2007-01-05 14:06
我在运行tooflat的sfilter程序的时候,操作需要加密的文件就蓝屏。后来发现原来在SfCreate被触发时,调用到SfSetFileEncrypted函数。这个函数中以下这段程序一执行就蓝屏(这段程序应该实现的功能是:将一个文件是否被加密的记录存在隐藏的文件中)。如果注释下面这段程序,反复操作需要加密的文件几次就蓝屏。
    所以想问大家一个谁调过这个程序,能否告诉我为什么呀,在此先谢过了。

也想问一下tooflat,这个程序是否稳定的运行过?我看很多朋友都说运行过,好象没说有什么问题。

我的环境是:ifsxp+winxp用的是debug版本


//        Status = ZwCreateFile(&FileHandle,
//            FILE_WRITE_DATA | SYNCHRONIZE,
//            &ObjectAttributes,
//            &IoStatus,
//            NULL,
//            FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM,
//            0,
//            FILE_OVERWRITE_IF,
//            FILE_SYNCHRONOUS_IO_NONALERT,
//            NULL,
//            0
//            );
//        if (NT_SUCCESS(Status))
//        {
//            if (Data)
//            {
//                Status = ZwWriteFile(FileHandle,
//                    NULL,
//                    NULL,
//                    NULL,
//                    &IoStatus,
//                    Data,
//                    DataLength,
//                    NULL,
//                    NULL
//                    );
//            }
//
//            ZwClose(FileHandle);
//        }
驱网无线,快乐无限
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2007-01-05 15:44
是不是重入了?
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2007-01-05 16:52
我以前测试过好象没什么问题,可能和你机器的某些其他软件冲突吧,他那个只能保证自己不会重入,但如果有其他FILTER的话,可能还是有问题的.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
fatmouse527
驱动牛犊
驱动牛犊
  • 注册日期2006-12-27
  • 最后登录2009-04-10
  • 粉丝1
  • 关注0
  • 积分347分
  • 威望85点
  • 贡献值0点
  • 好评度81点
  • 原创分1分
  • 专家分0分
地板#
发布于:2007-01-05 17:07
好的,谢谢,可是这是新装的机器,除了开发必要的,别的都没装,实在不知道问题在哪,还有哪位仁兄再说说有什么其它的原因吗?或遇到过这种情况。
驱网无线,快乐无限
lsxredrain
驱动中牛
驱动中牛
  • 注册日期2006-08-31
  • 最后登录2008-10-18
  • 粉丝1
  • 关注0
  • 积分540分
  • 威望421点
  • 贡献值1点
  • 好评度420点
  • 原创分4分
  • 专家分0分
地下室#
发布于:2007-01-06 23:45
我家里的笔记本加密解密怎么测试都没有问题,公司电脑一对系统盘调试就死机了.
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
5楼#
发布于:2007-01-06 23:48
有一些系统文件是动不得的...是不是分区不同的原因?
fat32?ntfs?
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
lsxredrain
驱动中牛
驱动中牛
  • 注册日期2006-08-31
  • 最后登录2008-10-18
  • 粉丝1
  • 关注0
  • 积分540分
  • 威望421点
  • 贡献值1点
  • 好评度420点
  • 原创分4分
  • 专家分0分
6楼#
发布于:2007-01-07 00:02
家里电脑清一色的ntfs,分别在c盘和D盘上装了Xp sp2,测试都没有问题

公司电脑没太注意,不过公司里电脑上病毒很多,家里电脑还算比较干净
lsxredrain
驱动中牛
驱动中牛
  • 注册日期2006-08-31
  • 最后登录2008-10-18
  • 粉丝1
  • 关注0
  • 积分540分
  • 威望421点
  • 贡献值1点
  • 好评度420点
  • 原创分4分
  • 专家分0分
7楼#
发布于:2007-01-07 16:34
tooflat在一部分电脑上运行正常,应该说他的sfilter自己本身没有重入问题,应该是与其他文件系统之间发生了重入,两种可能,
1/其他文件系统的create在sfilter中发生重入,
2/sfilter的create操做在其他文件系统中发生了重入,
不知道哪一种可能性大一些??
lsxredrain
驱动中牛
驱动中牛
  • 注册日期2006-08-31
  • 最后登录2008-10-18
  • 粉丝1
  • 关注0
  • 积分540分
  • 威望421点
  • 贡献值1点
  • 好评度420点
  • 原创分4分
  • 专家分0分
8楼#
发布于:2007-01-07 16:40
不过最原始的sfilter编译安装之后没有发生重入问题,我觉得是tooflat大侠的sfilter中的create操作在其他的filter中引起重入的可能性会比较大一些.
fatmouse527
驱动牛犊
驱动牛犊
  • 注册日期2006-12-27
  • 最后登录2009-04-10
  • 粉丝1
  • 关注0
  • 积分347分
  • 威望85点
  • 贡献值0点
  • 好评度81点
  • 原创分1分
  • 专家分0分
9楼#
发布于:2007-01-08 09:39
非常感谢大家,只是怎么防止重入呀,我都折腾1个月了,还是弄不好
还要请大家帮忙,怎么解决呀
驱网无线,快乐无限
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2007-01-08 14:24
调用SfIssueReadWriteIrpSynchronously的时候,指定IRP_NOCACHE标志,可能还需要对文件长度做调整。

不过我不知道你遇到的问题是不是和这有关。
最好有个dump文件的分析。
fatmouse527
驱动牛犊
驱动牛犊
  • 注册日期2006-12-27
  • 最后登录2009-04-10
  • 粉丝1
  • 关注0
  • 积分347分
  • 威望85点
  • 贡献值0点
  • 好评度81点
  • 原创分1分
  • 专家分0分
11楼#
发布于:2007-01-09 18:33
谢谢大家,谢谢tooflat,我的问题部分解决了,原来是卡巴斯基的问题。关了就不会蓝屏了。
但是在执行SfIsEncryptFlagExist函数时,ZwReadFile老是出错,但不会蓝屏。
Data是tooflat预留给密钥的,读的时候就读了sizeof(Data)那么长,我把读的长度减1就好了。
驱网无线,快乐无限
MFCGodfather
驱动牛犊
驱动牛犊
  • 注册日期2006-02-27
  • 最后登录2008-05-06
  • 粉丝0
  • 关注0
  • 积分650分
  • 威望66点
  • 贡献值0点
  • 好评度65点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-01-15 09:42
TO:fatmouse527

Status = SfIsEncryptFlagExist(DeviceObject, FileCtxPtr->Name, &IsEncryptFlagExist, FileCtxPtr->EncryptExtData, sizeof(FileCtxPtr->EncryptExtData));
改为
Status = SfIsEncryptFlagExist(DeviceObject, FileCtxPtr->Name, &IsEncryptFlagExist, FileCtxPtr->EncryptExtData, sizeof(FileCtxPtr->EncryptExtData)-1);
???????????????????????
fatmouse527
驱动牛犊
驱动牛犊
  • 注册日期2006-12-27
  • 最后登录2009-04-10
  • 粉丝1
  • 关注0
  • 积分347分
  • 威望85点
  • 贡献值0点
  • 好评度81点
  • 原创分1分
  • 专家分0分
13楼#
发布于:2007-01-15 09:52
我将以下两个函数改了一下,不过这样改是暂时的,如果你以后有了自已的密钥,和一些需要记录的信息,再根据实际情况改Data和DataLength:

SfIsEncryptFlagExist函数做如下修改

Status = ZwReadFile(FileHandle,
            NULL,
            NULL,
            NULL,
            &IoStatus,
            Data,
            DataLength-1,
            NULL,
            NULL
            );

SfSetFileEncrypted函数做如下修改
Status = ZwWriteFile(FileHandle,
                    NULL,
                    NULL,
                    NULL,
                    &IoStatus,
                    Data,
                    DataLength-1,
                    NULL,
                    NULL
                    );
驱网无线,快乐无限
MFCGodfather
驱动牛犊
驱动牛犊
  • 注册日期2006-02-27
  • 最后登录2008-05-06
  • 粉丝0
  • 关注0
  • 积分650分
  • 威望66点
  • 贡献值0点
  • 好评度65点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2007-01-15 15:34
tooflat大侠的目录判断好象有点问题,不准!
游客

返回顶部