if(pfcb) { *(PULONG)(pfcb+cleanup_of_fcb_offset)=1; //fcb->cleanupcount=1 } } if(pccb) { //ccb->cleanupcount=1 *(PULONG)((*(PULONG)(pccb+ccb_of_offset))+cleanup_of_ccb_offset)=1; } ObDereferenceObject(fileobject); ZwClose(hfile); [/code]
代码我加了注释,简单易懂。 加载xcb.sys,发现my.txt被删除了。而1.txt还存在。 并且1.txt的句柄还存在
所以xcb解锁文件很安全,不伤句柄,占坑的程序再关闭1.txt的句柄也不会蓝屏的。 |