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

Наткнулся на забавный исходник на одном китайском сайте, где показано, как можно сделать 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

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *