Проверить валидность обьекта FILE_OBJECT

Тема в разделе "WASM.NT.KERNEL", создана пользователем 0x56, 16 мар 2008.

  1. 0x56

    0x56 New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2008
    Сообщения:
    63
    Например имеется указатель предположительно на файловый объект.
    Какие возможны варианты проверки валидности обьекта?

    В статье "Драйверы режима ядра: Часть 14: Базовая техника. Синхронизация: Использование объекта /03.08.04/" Four-F упоминает ObReferenceObjectByPointer c AccessMode == UserMode как один из вариантов.
    Не знаю какое ядро он дизассемблировал, но у меня просто возвращается STATUS_OBJECT_TYPE_MISMATCH.
    Поэтому и не только поэтому ObReferenceObjectByPointer не предлагать :).

    Я так понимаю можно проверять FILE_OBJECT->Flags или например FILE_OBJECT->Event, или лезть в FILE_OBJECT->Vpb структуру, естественно проверяя валидность каждого адреса.

    Вот собственно и вопрос, как правильнее проверить обьект.
    Может конкретные реализации покажет кто-то.
     
  2. 0x56

    0x56 New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2008
    Сообщения:
    63
    извините, видимо поторопился
    есть же поле Type в структуре :)