20楼#
发布于:2007-07-06 11:24
但是不可能不用 filecontex
|
|
|
21楼#
发布于:2007-07-06 11:30
恩,是的,
我觉得问提还是在于同步方法不对, 我现在自己构建hash链表来保存filecontex,一点都不卡. 2.tooflat的sfilter与杀毒软件冲突的几个地方: a.使用Zw****系列函数读取规则和加密标记; b.使用RtlInsertElementGenericTable相关的函数来存储文件上下文,具体是哪里引起的没有详细分析,我现在是自己构造hash来存储.存文件上下文指针和加密标记,保证了文件加密标记的持久性. 使用 KeAcquireSpinLock( &gHashLockTable[hashIndex], &oldIrql ); KeReleaseSpinLock( &gHashLockTable[hashIndex], oldIrql ); SfForwardIrpSyncronously,来同步文件上下文表,不要用 KeInitializeEvent(&Event, NotificationEvent, FALSE); KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, NULL); 来同步 |
|
22楼#
发布于:2007-07-06 11:32
市面上能见到过的杀毒软件都测试过了
|
|
23楼#
发布于:2007-07-06 15:57
感谢lsxredrain,我也自己做一个保存filecontext的链表试试,
准备先弄一个简单的链表,如果没问题再作hash表。 不过用Zw****系列函数似乎不可避免,tooflat这种保存加密标记 的方法可能只用来做例子吧,lsxredrain说用hash表保存加密 标记以保证持久性,不太明白,hash表在内存里,重起不就丢了吗? |
|
24楼#
发布于:2007-07-06 16:07
所谓的持久是相对于文件关闭而言的,不是相对于重启
|
|
25楼#
发布于:2007-07-06 16:28
lsxredrain,能不能把你的代码也共享一部分,让我们这种新手学习学习。
对于这种蓝屏的问题,应该如何跟踪和调试? |
|
26楼#
发布于:2007-07-09 17:18
haha,没有回音了,看来lsxredrain的代码还是保密的,
不过我正在自己调试,有问题还要向高手们请教。 另外,我在驱动中如何获得打开文件的进程名? |
|
27楼#
发布于:2007-07-11 13:02
参照filemon的代码,自己解决了进程名的问题。
|
|
上一页
下一页