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

Discussion in 'WASM.WIN32' started by k3internal, May 6, 2008.

  1. k3internal

    k3internal New Member

    Blog Posts:
    0
    Joined:
    Jan 11, 2007
    Messages:
    607
    Люди, подскажите, если кто знает, как найти стартовый адрес потока в юзермоде, имея лишь его id? То есть тот самый адрес, который передаётся CreateThread.
     
  2. SSS

    SSS New Member

    Blog Posts:
    0
    Joined:
    Nov 24, 2003
    Messages:
    12
    NtQueryInformationThread не подойдет?
     
  3. RamMerLabs

    RamMerLabs Well-Known Member

    Blog Posts:
    0
    Joined:
    Sep 11, 2006
    Messages:
    1,426
    эта функция возвращает в буфере среди прочего указатель на createthread, а не на реальную функцию
     
  4. a1ss

    a1ss New Member

    Blog Posts:
    0
    Joined:
    Nov 18, 2007
    Messages:
    120
    TEB ?
     
  5. Clerk

    Clerk Забанен

    Blog Posts:
    0
    Joined:
    Jan 4, 2008
    Messages:
    6,689
    Location:
    РБ, Могилёв
    Любой поток начинает исполняться с 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

    Blog Posts:
    0
    Joined:
    Nov 24, 2003
    Messages:
    12
    RamMerLabs
    Вы что-то путаете.
    Code (Text):
    1. NtQueryInformationThread(hThread, ThreadQuerySetWin32StartAddress, &buff, bufflen, &bufflen_out);
    Выдает (в buff) именно тот самый адрес функции потока, который передается в CreateThread.
     
  7. RamMerLabs

    RamMerLabs Well-Known Member

    Blog Posts:
    0
    Joined:
    Sep 11, 2006
    Messages:
    1,426
    хм... приеду домой-проверю ещё раз. спасибо, что обратили внимание.
     
  8. k3internal

    k3internal New Member

    Blog Posts:
    0
    Joined:
    Jan 11, 2007
    Messages:
    607
    ок, спасибо всем)