Что делает Windows до вызова Main ()?

Windows должна что-то сделать, чтобы проанализировать PE-заголовок, загрузить исполняемый файл в память и передать аргументы командной строкиmain().

Используя OllyDbg, я установил отладчик на функцию main (), чтобы можно было просматривать стек вызовов:

Кажется, что символы отсутствуют, поэтому мы не можем получить имя функции, только адрес ее памяти, как видно. Тем не менее, мы можем видеть, что вызывающий главныйkernel32.767262C4, который является вызываемым абонентомntdll.77A90FD9, Внизу стопки мы видим ВОЗВРАТntdll.77A90FA4 я полагаю, что это первая функция, которая будет вызвана для запуска исполняемого файла. Кажется, что примечательные аргументы, передаваемые этой функции, - это адрес обработчика структурированных исключений Windows и точка входа в исполняемый файл.

Итак, как именно эти функции в конечном итоге загружают программу в память и готовят ее к выполнению точкой входа? Это то, что отладчик показывает весь процесс, выполняемый ОС доmain()?

Ответы на вопрос(1)

Ваш ответ на вопрос