NtCreateThread: CreateThread или CreateRemoteThread

Discussion in 'WASM.NT.KERNEL' started by katrus, Mar 4, 2008.

  1. katrus

    katrus New Member

    Blog Posts:
    0
    Joined:
    Mar 7, 2007
    Messages:
    612
    Можно ли как нибудь в хуке на ZwCreateThread определить был ли он вызван через CreateThread или CreateRemoteThread?
     
  2. Freeman

    Freeman New Member

    Blog Posts:
    0
    Joined:
    Feb 10, 2005
    Messages:
    1,385
    Location:
    Ukraine
    CreateThread([parameters])=CreateRemoteThread(-1,[parameters])
     
  3. Clerk

    Clerk Забанен

    Blog Posts:
    0
    Joined:
    Jan 4, 2008
    Messages:
    6,689
    Location:
    РБ, Могилёв
    Определить что поток удалённый - можно из UserMode.
     
  4. Clerk

    Clerk Забанен

    Blog Posts:
    0
    Joined:
    Jan 4, 2008
    Messages:
    6,689
    Location:
    РБ, Могилёв
    Определить Id процесса, создавшего поток, создавшего текущий процесс и текущего процесса.
    Поток удалённый, если: Id процесса создавшего поток не равен текущему PID и не равен Id процесса, создавшего текущий процесс. Определить идентификатор процесса, в котором создаётся поток можно через его хэндл(1-й параметр): ZwQueryInformationProcess(InfoClass=ProcessBasicInformation, поле ClientId.UniqueProcess).
    Кстати CreateThread->CreateRemoteThread.
     
  5. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    hProcess == -1 => CreateThread
     
  6. Clerk

    Clerk Забанен

    Blog Posts:
    0
    Joined:
    Jan 4, 2008
    Messages:
    6,689
    Location:
    РБ, Могилёв
    Ведь можно открыть текущий процесс, затем передать полученный хэндл в CreateThread.
     
  7. n0name

    n0name New Member

    Blog Posts:
    0
    Joined:
    Jun 5, 2004
    Messages:
    4,336
    Location:
    Russia
    Clerk
    ну попорбуй передать его в CreateThread...
     
  8. Clerk

    Clerk Забанен

    Blog Posts:
    0
    Joined:
    Jan 4, 2008
    Messages:
    6,689
    Location:
    РБ, Могилёв
    Имел ввиду в CreateRemoteThread