Перехват некоторых функций только у процесса х64

Тема в разделе "WASM.NT.KERNEL", создана пользователем Hippey, 11 фев 2012.

  1. Hippey

    Hippey New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2011
    Сообщения:
    49
    Здравствуйте!

    Есть функция(ее машинный код), как я могу ее внедрить в процесс, чтобы например вместо NtOpenProcess (ntdll.dll) использовалась моя функция? Есть ли статьи о таком? Это надо для 64 битной винды

    Спасибо!
     
  2. 100501

    100501 New Member

    Публикаций:
    0
    Регистрация:
    7 фев 2012
    Сообщения:
    1
    Если я тебя правильно понял то
    Начни со сплайсинга/хуков функций.
     
  3. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    А как же патчгвард ?

    Опять же маршрутизация рулит. Но тема то баянная, редирект в прошлую!
     
  4. Hippey

    Hippey New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2011
    Сообщения:
    49
    Так я ж говорю, что надо хукнуть функцию только в процессе одном, не в таблице системной. Можно ли просто сделать так, засунуть мой машинный код в память процесса, и как-то хукнуть, чтобы вместо ntOpenProcess использовалась моя фнукция
     
  5. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    Hippey
    Можно, но только на x86. На x64 не используется LDT. Повторяю, маршрутизация как способ отложенной передачи управления это наше всё.
     
  6. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Hippey
    Можно. Сплайсингом.
     
  7. Hippey

    Hippey New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2011
    Сообщения:
    49
    K10
    Сплайсинг работает только на х86?
     
  8. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    Hippey
    Патч вообще нигде не робит. Сей реликт был годен лет эдак 5 назад.
     
  9. Hippey

    Hippey New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2011
    Сообщения:
    49
    Malfoy
    Можете рассказать поподробнее о маршрутизации, есть ли где-нибудь статьи?

    Спасибо!
     
  10. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Hippey
    Везде работает.
     
  11. Hippey

    Hippey New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2011
    Сообщения:
    49
    K10
    Можешь помочь с ссылками на статьи. Из википедии я понял, что это называется модификация IAT таблиц процесса, но вот не могу найти статьи про это. Можно ли это сделать из ядра?
     
  12. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
  13. Hippey

    Hippey New Member

    Публикаций:
    0
    Регистрация:
    24 окт 2011
    Сообщения:
    49
    K10
    Огромное спасибо!
     
  14. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    Hippey
    И помните про патчгвард. Ваш код будет работать до срабатывания таймера, затем ось уйдёт в бсод.
     
  15. K10

    K10 New Member

    Публикаций:
    0
    Регистрация:
    3 окт 2008
    Сообщения:
    1.590
    Patch Guard контролирует целостность ядра и ядерных структур. К режиму пользователя он отношения не имеет.
     
  16. Malfoy

    Malfoy New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2012
    Сообщения:
    698
    K10
    У вас по ссылки пункт 3 написано режим ядра.