глобализация перехвата с помощью ZwResumeThread

Тема в разделе "WASM.BEGINNERS", создана пользователем daemion, 5 мар 2008.

  1. EvilPhreak

    EvilPhreak New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    154
    daemion
    Давайте так - нет момент вызова функции - есть время до вызова и после него. После отработки вызова ZwResumeThread он будет полностью проинициализирован. До вызова ZwResumeThread процесс НЕ проинициализирован, хотя и все действия по созданию внутренних структур выполнены. Единственное - это не вызвана LdrInitializeThunk, которая вызовается при посылке UserAPC при вызове ZwCreateThread. Но если ZwCreateThread вызван с флагом CREATE_SUSPENDED, то UserAPC не посылается, т.к. в списках планирования шедулера нет этого новоиспеченного потока, и будет вызван процесс инициализации либо после отработки ZwResumeThread (если без флага SUSPENDED), либо если процесс был создан с флагом CREATE_SUSPENDED, то инициализирован он полоностью будет при вызове ZwResumeThread, и как раз в этот момент после посылки UserAPC новый поток уже в UM начнет исполнение с адреса указанного в Thread->Win32StartAddress опосредованно через прямой вызов BaseProcessStart.
     
  2. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    EvilPhreak
    Не настолько большие (да и ИМХО вообще никаких: нужно только привыкнуть), как перехват тонны функций ради внедрения dll да еще и запись в EP, которую тормознет практически любая проактивная защита, а это для добропорядочного кода тоже не в радость.
    Как я уже писал в девятом посте, в перехватчике ZwCreateThread просто подменить EIP (лучше EAX) на свой. Разумеется, предварительно выделив память и записав в нее подходящий код.
     
  3. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    как всегда, начали за одно и полезле обсуждать совсем другой вопрос.. обсуждалась в начале правельность оформления самого перехватчика... а конкретно перехватчика ZwResumeThread. у автора данный перехватчик оформлен не правельно, как йа и сказал раньше. Clerk это тоже более конкретно опесал в посте #19.
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Изначально плохо оформленный код трудно и не имеет смысла обсуждать..