Перехват NtUserGetMessage (кернел мод)

Тема в разделе "WASM.WIN32", создана пользователем biocheshire, 1 апр 2006.

  1. biocheshire

    biocheshire Алексей

    Публикаций:
    0
    Регистрация:
    1 апр 2006
    Сообщения:
    13
    Адрес:
    Russia
    Hello, All.

    Через драйвер пытаюсь перехватить NtUserGetMessage.

    Известен номер функции, делаю подмену внутри DriverEntry через SDT, вроде бы корректно. Комп перезагружается. Под софтайсом вылетает синий экран с IRQL_NOT_LESS_OR_EQUAL.



    В чем может быть проблема, где копать? Не совсем понятно что происходит в случае, если GetMessage обрабатывается, и в данный момент происходит подмена на мою функцию. Тело новой функции очень простое, для проверки:
    Код (Text):
    1.  
    2. {
    3. return Old_NtUserGetMessage(...);
    4. }
    5.  




    Спасибо за внимание :)
     
  2. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Во-первых надо хукать в KeServiceDescriptorTableShadow.

    Во-вторых win32k.sys где находиться Shadow SDT, мапиться только в GUI процессы, а значит надо делать перед перехватом KeAttachProcess к такому процессу.
     
  3. biocheshire

    biocheshire Алексей

    Публикаций:
    0
    Регистрация:
    1 апр 2006
    Сообщения:
    13
    Адрес:
    Russia
    Большое спасибо.

    Буду пробовать, появится еще куча вопросов. :)
     
  4. biocheshire

    biocheshire Алексей

    Публикаций:
    0
    Регистрация:
    1 апр 2006
    Сообщения:
    13
    Адрес:
    Russia
    Можно ли прицепить на стадии линкования к коду драйвера GetModuleHandle из kernel32.lib?
     
  5. rav

    rav New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2004
    Сообщения:
    159
    Адрес:
    Москва
    Нет, это функция уровня приложения.
     
  6. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"




    Почему же нет? Прицепить можно, только драйвер запускаться не будет :)
     
  7. BeerSeller

    BeerSeller New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2006
    Сообщения:
    14
    Адрес:
    Лида
    Вот ловите исходник этой функции из WINDOWS SOURCE. Может поможет.



    Если из исходников чтонибудь ещё надо - пиши вышлю.



    levko[бобик]tut[тчк]by
     
  8. BeerSeller

    BeerSeller New Member

    Публикаций:
    0
    Регистрация:
    5 апр 2006
    Сообщения:
    14
    Адрес:
    Лида