Открытие файлов и листинг каталога через сеть

Тема в разделе "WASM.NETWORKS", создана пользователем JustAGuest, 12 июн 2009.

  1. JustAGuest

    JustAGuest New Member

    Публикаций:
    0
    Регистрация:
    18 мар 2009
    Сообщения:
    33
    Господа, такая ситуация:
    Пишу драйвер-перехватчик файловой системы, что-то вроде простого фильтра доступа. Все сделано и работает нормально. Локально.
    Но если "секьюрный" каталог расшарить, то с другой машины можно запросто в него войти, не взирая на все старания драйвера.
    Драйвер перехватывает: ntCreateFile, ntOpenFile и NtQueryDirectoryFile.

    А теперь вопрос: какими ф-циями пользуется винда для доступа к файлам и каталогам по сети и если теми что уже перехватываются, то где об этом можно почитать (интересно как она это делает, флажки там и все такое).

    Похоже что я просто что-то упустил, но что...

    Заранее очень благодарен
     
  2. dev

    dev New Member

    Публикаций:
    0
    Регистрация:
    25 авг 2008
    Сообщения:
    39
    Можно перехватить ZwCreateSection, потом по FileHandle получить структуру FILE_OBJECT с помощью ObReferenceObjectByHandle. Из нее можно достать DEVICE_OBJECT, а из него DeviceType в котором будет храниться тип девайса вызвавшего твой файл, список в msdn посмотри... А вообще, если я правильно понял тебе не надо узнавать никакой тип, просто перехвати ZwCreateSection.
     
  3. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    Ессно. Эти ф-ции вызывают user mode проги работающие на конкретном компе. При сетевом доступе система сформирует IRPs и пошлёт их вниз по storage stack.

    А теперь ответ - пиши FS minifilter без всяких hooks и всё будет работать.