как запустить Zw... функцию зная ее адрес в SDT?

Тема в разделе "WASM.BEGINNERS", создана пользователем Dmitry_177, 20 июн 2007.

  1. Dmitry_177

    Dmitry_177 New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2007
    Сообщения:
    75
    как запустить Zw... функцию зная ее оригинальный(не перехваченный) адрес в SDT?
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    [deleted]
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    а в чём проблема?

    typedef NTSTATUS (* TFunc)(ULONG p1, ULONG p2, ULONG p3);

    (TFunc)FuncAddr(p1, p2, p3);
     
  4. mathio

    mathio New Member

    Публикаций:
    0
    Регистрация:
    16 июн 2007
    Сообщения:
    110
    только ((TFunc)FuncAddr)(p1, p2, p3)
    не нужно забывать про приоритеты операций =)
     
  5. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    да, ессно :)
    но компилер бы подсказал :)
     
  6. Dmitry_177

    Dmitry_177 New Member

    Публикаций:
    0
    Регистрация:
    27 мар 2007
    Сообщения:
    75
    А если есть адрес callback функции, в которую передаются параметры, как можно считать один из таких параметров? тоже нужно как-то перехват делать callback функции или еще както?
     
  7. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    да, конечно, либо перехват при вызове колбека, либо в самом колбеке.
     
  8. mathio

    mathio New Member

    Публикаций:
    0
    Регистрация:
    16 июн 2007
    Сообщения:
    110
    Ставишь свой обработчик вместо текущего callback'а. Когда тебя "дергают" смотришь передаваемые тебе параметры, дальнейшие действия(передать управление оригинальному колбэку, либо что-то другое) зависят только от фантазии :)