Перехват ядерной функции ObOpenObjectByName()

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

Статус темы:
Закрыта.
  1. guessWh0_o

    guessWh0_o New Member

    Публикаций:
    0
    Регистрация:
    6 окт 2018
    Сообщения:
    27
    Добрый день, заинтересовал перехват функции ядра ObOpenObjectByName() поскольку она вызывается при попытке открытия динамической библиотеки
    NTKERNELAPI
    NTSTATUS
    ObOpenObjectByName(
    __in POBJECT_ATTRIBUTES ObjectAttributes,
    __in_opt POBJECT_TYPE ObjectType,
    __in KPROCESSOR_MODE AccessMode,
    __inout_opt PACCESS_STATE AccessState,
    __in_opt ACCESS_MASK DesiredAccess,
    __inout_opt PVOID ParseContext,
    __out PHANDLE Handle
    );
    [​IMG]
    Собственно интересует вопрос, возможно ли сплайсить ее, если получить адрес функции в ядре (MmGetSystemRoutineAddress), я так понимаю в SSDT таблице ее не будет, так как эта функция напрямую вызывается ядерными функциями (нет выхода в 3 кольцо). Если возможно перехватить и вытащить POBJECT_ATTRIBUTES ObjectAttributes, то подскажите как это сделать.
     
  2. Коцит

    Коцит Active Member

    Публикаций:
    0
    Регистрация:
    31 янв 2017
    Сообщения:
    130
  3. ormoulu

    ormoulu Well-Known Member

    Публикаций:
    0
    Регистрация:
    24 янв 2011
    Сообщения:
    1.208
    ТС, чем минифильтр фс вас не устраивает, и почему непременно нужно сплайсить?
     
  4. guessWh0_o

    guessWh0_o New Member

    Публикаций:
    0
    Регистрация:
    6 окт 2018
    Сообщения:
    27
    Потому что у меня не минифильтр, это лишь одна из задач, которая стоит. На счет сплайсинга я лишь спросил, какими еще можно вариантами воспользоваться. Из ссылки выше, я так понял, что для хранения ядерных функций (без выхода в 3 кольцо) есть отдельная SST ntoskrnl. В ней же можно подменить функцию, как и в случае с SDT?
     
  5. guessWh0_o

    guessWh0_o New Member

    Публикаций:
    0
    Регистрация:
    6 окт 2018
    Сообщения:
    27
    Проблема решена сплайсингом, тему можно закрыть
     
Статус темы:
Закрыта.