Задача стоит так ... что с локальной машина можно ходить на удаленную токо в определенные папки и делать что разрешено правами. Я перехватываю ZwCreatrFile ZwOpenFile ZwSetInformationFile все бы хорошо но после того когда я возращаю код ошибки, при попытке доступа к тем элементам, но после этого к ним вообще нету доступа ни на локальной ни на удаленной машинах . Подскажите в чем может быть трабл?
мне надо запретить любой проги лезть куда ей нельзя я делал так .... но потом фал блокируеться полностью NTSTATUS NTAPI HookSetInformationFile( IN HANDLE FileHandle, OUT PIO_STATUS_BLOCK IoStatusBlock, IN PVOID FileInformation, IN ULONG Length, IN FILE_INFORMATION_CLASS FileInformationClass ) { NTSTATUS ntstatus,nt; PFILE_OBJECT FileObject = NULL; WCHAR filename[] = L"\\test\\test.txt"; if (FileInformationClass == 13) { nt = ObReferenceObjectByHandle(FileHandle,FILE_WRITE_DATA,NULL,KernelMode,( PVOID*)&FileObject,NULL); if (nt == STATUS_SUCCESS) { if(wcscmp(FileObject->FileName.Buffer,filename)== 0) { ZwClose(FileHandle); return STATUS_ACCESS_DENIED; } } } ntstatus = RealSetInformationFile(FileHandle,IoStatusBlock, FileInformation,Length,FileInformationClass); return ntstatus; }
если я правель панимаю что файл прежди чем удалиться ставить атрибут на удаление ? я вот и хочу запретить его удолять. с ZwClose(FileHandle) переборщил ... впринцепи что есть что нету не помогает ...
Ты под дебагом проганял ? У тебя на второй раз код к "if(wcscmp(FileObject->FileName.Buffer,filename)== 0)" доходит ? ЗЫ. Ты можеш конкретно сказать что получаешь, что делал ? Или мы тут должны догадываться ?!
создается папка/файл ставится хук на NtSetInformationFile - зачищаем от удаления. в первый раз папка/файл не удаляется, работает хук,но потом нельзи ни открыть ни удалить, вообщем ничего нельзя сделать, ни на локальной ни на удаленной машине, даже при выгруженном драйвере. + filemon показывает что services.exe тоже пытается работать с папкой/файлом. ps MegaZu доходит
Shrek у тебя изначально алгоритм какой то мутный, проще попробовал бы, статей по перехвату на васме дофига, соорудил бы чево нить в этом духе
CARDINAL чего он мутный. обычный хук на файл/папку с проверкой по имени/пути. куда уж проще. единственное но: если это выполеняется на текущей машине то все нормально а если текущая машина лезет по сети на другой тазик и там делает это все, то проявляется кривость. проблемма связанна именно при работе с сетью.