Print This Post Как сделать BSOD из User-mode

Воскресенье, 17. Май 2009
Раздел: Assembler, автор:

Наткнулся на забавный исходник на одном китайском сайте, где показано, как можно сделать BSOD (Blue Screen of Death, синий экран смерти) в Windows из User-Mode (ring 3) без всякого Native API:

Код на c++:

Код на ассемблере (переписал с си++ для уменьшения размера, весит всего 1кб):

Код проверен и работает на WinXP SP3 и Windows Vista SP1. На Windows 7 не работает, пофикшено, на XP SP2 тоже вроде бы не работает.

UPD: обнаружился код на c++, который способен вызвать BSOD на Win XP SP2, Win 2003 SP1 и Win NT SP4 (Discovered on 23.12.2004 by YuraN).

Этот код вызывает BSOD за счет внедрения своего потока в csrss.exe, который запускает MessageBox. Он также был переписан мной на ассемблере и объединен с первым. Вот полный текст кода (универсальный, объединенный с первым) для всех этих систем, кроме Windows 7:

Скачать пример 1 в exe можно тут: ZIP
Скачать универсальный пример в exe можно тут: ZIP

 Обсудить на форуме


Получать обновления на почту:     

Комментариев: 6 к “Как сделать BSOD из User-mode”


  1. Kayavappen :

    Ааааа, в рот мне ноги!!

    [Ответить]


  2. WoOlfey :

    Ну привилегии отладки эт конечно уже жирновато для юзер мода)

    [Ответить]

  3. СПАСИБО!!! dx, ты мне ОЧЕНЬ помог! Никак не мог перзагрузить дедик :)

    [Ответить]


  4. Rash :

    Хренасебе тут у вас забавы ;) Делаю для себя открытие за открытием. Спасибо.

    [Ответить]


  5. Сергей :

    Windows Server 2003 SP2, проверено! Работает!

    [Ответить]


  6. Аркадей :

    RtlSetProcessIsCritical ?

    [Ответить]


Оставьте ваш комментарий