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

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

  1. biocheshire

    biocheshire Алексей

    Публикаций:
    0
    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
    Во-первых надо хукать в KeServiceDescriptorTableShadow.

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

    biocheshire Алексей

    Публикаций:
    0
    Большое спасибо.

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

    biocheshire Алексей

    Публикаций:
    0
    Можно ли прицепить на стадии линкования к коду драйвера GetModuleHandle из kernel32.lib?
     
  5. rav

    rav New Member

    Публикаций:
    0
    Нет, это функция уровня приложения.
     
  6. Ms Rem

    Ms Rem New Member

    Публикаций:
    0




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

    BeerSeller New Member

    Публикаций:
    0
    Вот ловите исходник этой функции из WINDOWS SOURCE. Может поможет.



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



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

    BeerSeller New Member

    Публикаций:
    0