Что означает код BSOD 0xFC (ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY)?

 
Предыдущий Следующий
RECURSIVE_MACHINE_CHECK DIRTY_NOWRITE_PAGES_CONGESTION

ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY

Нарушение разрешения выполнения NX/DEP для ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY

ATTEMPTED_EXECUTE_OF_NOEXECUTE_MEMORY — код bug check 0x000000FC. Поток управления достиг виртуального адреса, который memory manager не разрешает выполнять.

Типичные причины: повреждённый function pointer, use-after-free, попытка code injection, неверный driver trampoline или память с неправильными protections.

Как читать дамп

  • При наличии данных декодируйте faulting instruction pointer и состояние PTE или VAD.
  • Стек мог быть повреждён, поскольку управление уже прошло через плохую память.
  • Это более конкретное свидетельство, чем общий access violation: отказало именно разрешение execute.

Что проверить

  • В WinDbg исследуйте faulting address, pool tag, call stack и список загруженных модулей.
  • Для подозреваемых драйверов включите Driver Verifier, Special Pool и проверки целостность кода.
  • Проверьте драйверы, записывающие executable stubs, перехватывающие функции или неправильно использующие MDL и защиты страниц.

Ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.