| Предыдущий | Следующий |
| STATUS_INVALID_IMAGE_LE_FORMAT | STATUS_INVALID_IMAGE_PROTECT |
STATUS_INVALID_IMAGE_NOT_MZ
Файл не начинается с допустимого MZ-заголовка PE
Образ Windows PE начинается со структуры IMAGE_DOS_HEADER с сигнатурой MZ. Загрузчик использует её поля, прежде всего e_lfanew, чтобы найти сигнатуру PE и NT-заголовки. Поэтому код сообщает о базовом несовпадении формата, усечении или повреждении до начала обработки импорта или проверки подписи.
Файл может оказаться архивом, сценарием, ELF-бинарником, необработанным образом прошивки, страницей ошибки, загруженной вместо бинарника, или частично записанным исполняемым файлом. Расширение имени скрывает такие случаи.
Что проверить
- Изучите первые байты и размер файла, затем убедитесь, что e_lfanew указывает внутрь файла на действительную сигнатуру PE.
- Проверьте журналы передачи и распаковки на усечение, преобразование текстового режима, страницу ошибки прокси или незавершённое обновление.
- Сравните файл с хешем доверенного пакета до замены или попытки исправления.
- Рассматривайте недоверенные повреждённые заголовки как вход парсера и проверяйте все смещения до разыменования.
Ссылки
- Microsoft Open Specifications: значения NTSTATUS
- Microsoft: формат PE и COFF
- Исходный код LLVM: разбор COFF
- Исходный код Wine: загрузчик PE-модулей
Нужно найти другой код? Найти другой код состояния или ошибки.