Определение стартового адреса потока

Тема в разделе "WASM.WIN32", создана пользователем k3internal, 6 май 2008.

  1. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    Люди, подскажите, если кто знает, как найти стартовый адрес потока в юзермоде, имея лишь его id? То есть тот самый адрес, который передаётся CreateThread.
     
  2. SSS

    SSS New Member

    Публикаций:
    0
    Регистрация:
    24 ноя 2003
    Сообщения:
    12
    NtQueryInformationThread не подойдет?
     
  3. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    эта функция возвращает в буфере среди прочего указатель на createthread, а не на реальную функцию
     
  4. a1ss

    a1ss New Member

    Публикаций:
    0
    Регистрация:
    18 ноя 2007
    Сообщения:
    120
    TEB ?
     
  5. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Любой поток начинает исполняться с ntdll!KiUserApcDispatcher. Оттуда он перейдёт в LdrInitializeThunk, для обработки в DllMain, затем он перейдёт в ThreadInitRoutine(её адрес находится немного выше значения лежащего на вершине стека в ModuleEntryPoint, CONTEXT.Eip=Win32StartAddress и ETHREAD.Win32StartAddress), посредством ZwContinue(регистр Eip), а из неё после установки SEH-а и Win32StartAddress(ZwSetInformationThread, InfoClass=ThreadQuerySetWin32StartAddress из CONTEXT.Eax) продолжит исполняться с адреса в контексте потока в регистре Eax.
     
  6. SSS

    SSS New Member

    Публикаций:
    0
    Регистрация:
    24 ноя 2003
    Сообщения:
    12
    RamMerLabs
    Вы что-то путаете.
    Код (Text):
    1. NtQueryInformationThread(hThread, ThreadQuerySetWin32StartAddress, &buff, bufflen, &bufflen_out);
    Выдает (в buff) именно тот самый адрес функции потока, который передается в CreateThread.
     
  7. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    хм... приеду домой-проверю ещё раз. спасибо, что обратили внимание.
     
  8. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    ок, спасибо всем)