По той причине, что не владею ядерными отладчиками, просьба - у кого он есть - посмотреть куда передается управление в ntdll.dll из r0 при создании процесса. //---- Чето я протупил немного ... неудивительно после ночи :/ Надо было сразу к Руссиновичу обратится. Он говорит, что это функция LdrInitializeThunk ...
Смотря какая ОС. после всякой херни и подгрузки всех секций идет банальный вызов системного сервиса через sysenter. Там выполняются функции: NtCreateProcess - Win 2k NtCreateProcessEx - Win XP and Win 2k3 Ну и там идет попутное уведомление csrss о создавшемся процессе Вообще ntdll находится в r3 и через sysenter управление передается в r0 (в ntoskrnl.exe или ему подобный)
2slesh Ты немного не так понял. Я про настройку имэджа нового процесса и подгрузку его длл ) уже в третьем кольце, в АП нового процесса. Судя по коду LdrInitializeThunk Руссинович прав (ктобы сомневался).