В моей последней публикации я описал, как использовать локальную отладку ядра, чтобы изменить цвета экрана BSOD в Windows, также известного как «синий экран смерти». Несомненно, многие из вас подумали, что показать синий или красный BSoD своим друзьям или родным было бы забавно, однако описанные шаги для реализации этой затеи слишком сложны.

Алекс Ионеску (Alex Ionescu), один из моих соавторов к пятому изданию Windows Internals (он также является соавтором шестого издания со мной и Дейвом Соломоном, посвященного Windows 7 и Windows Server 2008 R2, выход которого намечен на это лето), предложил нам облегчить пользователям процесс получения «синего экрана» в любом другом цвете. Мы сделали это, модифицировав Notmyfault, инструмент для демонстрации некорректных драйверов, который я написал для указанной выше книги и моих презентаций об анализе аварийных дампов. Просто выберите ваш цвет в новом диалоговом окне выбора цвета BSoD, нажмите кнопку "Do Bug" и любуйтесь на ваше творение:

clip_image002

Вот BSoD, получившийся из настроек, показанных на рисунке выше:

clip_image004

Это очень просто – нет необходимости в корректировке многостраничных настроек или выполнении любых других изменений в конфигурации, которые я описывал в моей предыдущей статье.

Как это работает? Мы расширили драйвер режима ядра инструмента Notmyfault (он называется Myfault.sys, как видно на рисунке выше, что призвано подчеркнуть, что пользовательский код не может напрямую вызвать сбой системы) для регистрации «обратного вызова отладки». Когда система терпит крах, он вызывает зарегистрированный драйвером обратные вызовы, чтобы они могли добавить данные в аварийный дамп, которые должны помочь получить информацию о состоянии устройства или драйвера во время сбоя. Обратный вызов Myfault.sys выполняется только после того, как BSoD прорисовывается, и изменяет цвета, которые ему передал Notmyfault, с помощью изменения установленных по умолчанию значений палитры VGA, используемой драйвером Boot Video.

Теперь вы можете, не прибегая к трудной и полной ошибок игре с отладчиком ядра, произвести впечатление на ваших друзей и родных с помощью BSoD, раскрашенного в ваши любимые цвета (хотя они были бы еще больше поражены, если бы вы сделали это через отладчик ядра)!

Чтобы загрузить последнюю версию Notmyfault (32-х и 64-х разрядные варианты), нажмите здесь.