В актуальной версии Windows 11 26H2 компания Microsoft сохранила компонент совместимости EmulateHeap. Этот фрагмент кода, отвечающий за управление памятью, был создан еще во времена Windows 95.
Изначально компонент появился как решение проблемы для игры SimCity, выпущенной для Windows 3.x. В ней присутствовала уязвимость типа «использование после освобождения», из-за которой игра работала некорректно при изменении принципов управления памятью в Windows 95.
Вместо исправления самой игры Microsoft внедрила в систему специальный код, который задерживал процесс освобождения памяти. Позже, при разработке Windows XP, компания перенесла этот механизм в отдельный фреймворк совместимости, скопировав исходный код менеджера кучи из Windows 95.
При вызове старыми программами функций HeapCreate, LocalLock или GlobalReAlloc система перенаправляет запросы к EmulateHeap. Это позволяет эмулировать работу менеджера памяти Windows 95 для корректного запуска устаревшего ПО.
В Windows 11 этот код не активен постоянно. Он загружается с диска только в том случае, если для конкретного приложения включена поддержка EmulateHeap. Проверить наличие таких исправлений можно через инструмент Compatibility Administrator, входящий в состав Windows ADK.






