Установщик текстового режима Windows XP, это действительно DOS-приложение?

#api #installation #windows-xp

#API #установка #windows-xp

Вопрос:

При первой установке Windows XP. Мне представлен текстовый интерфейс.

Какой API использует этот текстовый установщик?

  • 16-разрядное DOS-приложение
  • 32-разрядное DOS-приложение
  • Собственный API Windows
  • Стандартный Win32 API

Комментарии:

1. не уверен, что это считается практическим вопросом программирования, если только вы не планируете взломать Windows.

2. Что такое собственный API для Windows?

3. Хм. Стандартный Win32 API — это то же самое, что и «Windows Native API». И DOS не является 32-разрядной операционной системой, поэтому невозможно, чтобы что-то могло быть 32-разрядным DOS-приложением. На самом деле это всего лишь 32-разрядное приложение Windows NT. То, что что-то находится в текстовом режиме, не делает его MS-DOS.

4. Этого достаточно, чтобы я считал это по теме. @Коди , наверное, следовало бы дать на это ответ.

5. @Cody Gary Win32 API не является API Native Mode , который представляет собой недокументированный API Windows, существующий на ранних стадиях процесса загрузки.

Ответ №1:

Пройдя тщательный дизассемблер, я обнаружил следующее…

Это относится к установщику Windows XP с пакетом обновления 2…

I386 SETUPLDR.BIN

  • Самое начало настройки текстового режима, где запрашиваются и загружаются базовые драйверы.
  • Он также запрашивает о консоли восстановления.
  • Это код в стиле загрузчика. Не исполняемый файл PE. Я не уверен, является ли это 16-разрядным или 32-разрядным кодом.
  • Использует строки ASCII.
  • На самом деле запуск занимает около минуты, загружая все драйверы компакт-диска и тому подобное.
  • Я не уверен, запущено ли ядро Windows на данный момент.

I386USETUP.EXE

  • На данный момент ядро Windows определенно запущено.
  • Отображает лицензионное соглашение, разделитель и копирует файлы на диск.
  • 32-разрядный исполняемый файл PE в встроенном режиме. Собственный режим означает неуправляемый (т. Е. не исполняемый файл .NET), НО это также означает, что исполняемый файл использует только собственный, недокументированный API ntdll.dll.
  • Этот исполняемый файл поддерживает Unicode и использует строки Unicode.