阅读:1265回复:4
關於隱藏文件或文件夾無法隱藏第一個或最後一個的問題
各位先進請教一下,
我從這裡拼湊一些代碼來做隱藏的功能, 也實際可行, 但是有個問題,就是都是用: RtlMoveMemory(DirInfo, (PUCHAR)DirInfo + offset, *lpBufLenth - position - offset); 來做偏移量隱藏文件,.. 那麼如果 當offset值 是零的文件,隱藏就會失敗 像頭尾的文件其offset就是零,當要隱藏此文件即會失敗... 關於此問題 ,是如何解決的? |
|
沙发#
发布于:2007-10-02 16:02
znsoft :
問個白痴問題..要怎麼發iocalldriver,發在哪? |
|
板凳#
发布于:2007-09-26 13:41
如果只有一项或最后一项,请再次向下发送iocalldriver
|
|
|
地板#
发布于:2007-09-26 09:56
do
{ offset = curDirInfo->NextEntryOffset; if( Ls_CheckHideObject(Irp,curDirInfo,DeviceObject)) { if ((0 == offset)) { if (lastDirInfo) { lastDirInfo->NextEntryOffset = 0; newLenth -= *lpBufLenth - position; } else { curDirInfo->NextEntryOffset = 0; *lpBufLenth = 0; return TRUE; } } else { RtlMoveMemory(curDirInfo, (PUCHAR)curDirInfo + offset, *lpBufLenth - position - offset); newLenth -= offset; position += offset; } } else { position += offset; lastDirInfo = curDirInfo; curDirInfo = (PFILE_BOTH_DIR_INFORMATION)((PUCHAR)curDirInfo + offset); } } while (0 != offset); 如上面的code ,看論壇都是以RtlMoveMemory來做的 那如果offset 是零..就無法隱藏了.. 還是樓上的你指的是其他的事情? |
|
地下室#
发布于:2007-09-25 10:01
不知道你是怎么做的,我记得好像是在filter driver里面处理DIRECTORY IRP,然后自己把data进行修改,不记得有头尾的问题。要么放出代码看看?
|
|
|