ntdll.dll - точка входа после r0

Discussion in 'Реверсинг' started by Hiro Protagonist, 13 Sep 2009.

  1. Hiro Protagonist

    Joined:
    26 Aug 2009
    Messages:
    132
    Likes Received:
    24
    Reputations:
    -2
    По той причине, что не владею ядерными отладчиками, просьба - у кого он есть - посмотреть куда передается управление в ntdll.dll из r0 при создании процесса.

    //----

    Чето я протупил немного ... неудивительно после ночи :/
    Надо было сразу к Руссиновичу обратится. Он говорит, что это функция LdrInitializeThunk ...
     
    #1 Hiro Protagonist, 13 Sep 2009
    Last edited: 13 Sep 2009
  2. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Смотря какая ОС.
    после всякой херни и подгрузки всех секций идет банальный вызов системного сервиса через sysenter. Там выполняются функции:
    NtCreateProcess - Win 2k
    NtCreateProcessEx - Win XP and Win 2k3
    Ну и там идет попутное уведомление csrss о создавшемся процессе

    Вообще ntdll находится в r3 и через sysenter управление передается в r0 (в ntoskrnl.exe или ему подобный)
     
    #2 slesh, 13 Sep 2009
    Last edited: 13 Sep 2009
    1 person likes this.
  3. Hiro Protagonist

    Joined:
    26 Aug 2009
    Messages:
    132
    Likes Received:
    24
    Reputations:
    -2
    2slesh
    Ты немного не так понял. Я про настройку имэджа нового процесса и подгрузку его длл ) уже в третьем кольце, в АП нового процесса. Судя по коду LdrInitializeThunk Руссинович прав (ктобы сомневался).