Как вызвать синий экран смерти?
От: alfarn  
Дата: 27.06.01 19:49
Оценка:
С помощью какого кода можно вызвать синий экран?
Легкий путь открывается лишь тому, кто по трудному пути прошел.
Re: Как вызвать синий экран смерти?
От: Аноним  
Дата: 28.06.01 04:15
Оценка:
Здравствуйте alfarn, вы писали:

A>С помощью какого кода можно вызвать синий экран?


BlueScreen();
Re[2]: Как вызвать синий экран смерти?
От: wvk Россия  
Дата: 29.06.01 07:04
Оценка:
Хорошо работает также BlueScreenOfDeath();
Re: Как вызвать синий экран смерти?
От: alfarn  
Дата: 29.06.01 18:31
Оценка:
Это что шутки?
Легкий путь открывается лишь тому, кто по трудному пути прошел.
Re[2]: Как вызвать синий экран смерти?
От: Igor Soukhov  
Дата: 29.06.01 18:33
Оценка:
Здравствуйте alfarn, вы писали:

A>Это что шутки?

а что — неужно работает =)

Igor
* thriving in a production environment *
Re: Как вызвать синий экран смерти?
От: alfarn  
Дата: 29.06.01 18:44
Оценка:
Ну а если серьезно, то как?
Легкий путь открывается лишь тому, кто по трудному пути прошел.
Re[2]: Как вызвать синий экран смерти?
От: Alex Fedotov США  
Дата: 29.06.01 20:56
Оценка:
Здравствуйте alfarn, вы писали:

A>Ну а если серьезно, то как?


Когда вдруг кто-то находит возможность получить синий экран из user-mode приложения, это очень быстро попадает в ntbugtraq, Microsoft выпускает очередной QFE и такая возможность пропадает. Зайди на www.ntbugtraq.com поищи чего-нибудь из свеженького, может получится.
-- Alex Fedotov
Re[3]: Как вызвать синий экран смерти?
От: VladD2 Российская Империя www.nemerle.org
Дата: 29.06.01 22:54
Оценка:
Здравствуйте Alex Fedotov, вы писали:

AF>Здравствуйте alfarn, вы писали:


A>>Ну а если серьезно, то как?


AF>Когда вдруг кто-то находит возможность получить синий экран из user-mode приложения, это очень быстро попадает в ntbugtraq, Microsoft выпускает очередной QFE и такая возможность пропадает. Зайди на www.ntbugtraq.com поищи чего-нибудь из свеженького, может получится.


У меня один молодой орел написал порогу которая на GUI-вызывах лЭгко валила NT 4 SP 6 и W2k. Предполагаю что этой глюке лет пять.

Точного кода не помню, но примерно дела обстояли так:

Он открывал поп-ап-менюшу, одновременно вызывал КапчурКрыс и обробатывал соответствующие сообщения... Ну, и на некотором цикле рекурсии ... бАаабах и NT-я слетала в лучшем виде. Проверяли на двух машинах. Они были совершенно разные, но может быть, что имели одинаковые драйвера Logitech-крысс. Хотя по-моему у машины на которой крутилась 4-я NT драйвера все же были MS-ными.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: Как вызвать синий экран смерти?
От: Николай Мартыщенко Россия http://nsentinel.blogspot.com
Дата: 01.07.01 00:22
Оценка: 12 (1)
Здравствуйте alfarn, вы писали:

A>С помощью какого кода можно вызвать синий экран?


А чем вызван вопрос? Если просто пошутить, то можно и screen saver скачать с http://www.sysinternals.com/ntw2k/freeware/bluesave.shtml :)
А если серьезно, то в VWin32.VxD (стандартный системный драйвер) содержится нужная функция: _VWIN32_BlueScreenPopup. Или более стандартно, можно взаимодействовать с пользователем через BSOD с помощью SHELL_SYSMODAL_Message. Все это доступно на платформе Win9x.

Ник.
Re[2]: Как вызвать синий экран смерти?
От: vasketsov Россия http://ntprog.by.ru
Дата: 14.06.03 09:23
Оценка: 7 (1)
Здравствуйте, Николай Мартыщенко, Вы писали:

[]

http://ntprog.by.ru/_bsod.htm
Васкецов Сергей
http://registry.km.ru
Re: Как вызвать синий экран смерти?
От: BlackHeretic Израиль  
Дата: 16.06.03 06:31
Оценка:
Здравствуйте, alfarn, Вы писали:

A>С помощью какого кода можно вызвать синий экран?


Esli ne oshibajus'


printf("\t\t\b\b\b\b");
ICQ 156156278
Re: Как вызвать синий экран смерти?
От: Аноним  
Дата: 16.06.03 07:21
Оценка:
Здравствуйте, alfarn, Вы писали:

A>С помощью какого кода можно вызвать синий экран?

Для W2K http://www.winguides.com/registry/display.php/856/
Re[2]: Как вызвать синий экран смерти?
От: Kaa Украина http://blog.meta.ua/users/kaa/
Дата: 16.06.03 07:57
Оценка:
Здравствуйте, BlackHeretic, Вы писали:

BH>Esli ne oshibajus'


BH>
BH>printf("\t\t\b\b\b\b");
BH>

На некоторых вариациях нужно эту фигню в вечный цикл вставлять, бо с первого раза часто не работает. А так — способ вернейший — убиение системного процесса csrss.exe, приводящего к краху системы
Алексей Кирдин
Re[3]: Как вызвать синий экран смерти?
От: Снорк  
Дата: 16.06.03 07:58
Оценка:
Здравствуйте, Alex Fedotov, Вы писали:

AF>Здравствуйте alfarn, вы писали:


A>>Ну а если серьезно, то как?


AF>Когда вдруг кто-то находит возможность получить синий экран из user-mode приложения, это очень быстро попадает в ntbugtraq, Microsoft выпускает очередной QFE и такая возможность пропадает. Зайди на www.ntbugtraq.com поищи чего-нибудь из свеженького, может получится.


Alex, неужели это правда? Я раза три умудрился вызвать BSOD, все три через — GDI
Что-то типа PolyPolyline. ОС — WindowsXP.
Re: Как вызвать синий экран смерти?
От: Hacker_Delphi Россия  
Дата: 16.06.03 08:26
Оценка:
Здравствуйте, alfarn, Вы писали:

A>С помощью какого кода можно вызвать синий экран?


про это — много уже написано... а вот я знаю, как сделать жесткую перезагрузку без вопросов... системные требования: Windows XP/DirectX 9 with Managed Extentions/C#...
... << RSDN@Home 1.1 alpha 1 >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Re[2]: Как вызвать синий экран смерти?
От: Valerio Россия linkedin.com/in/boronin
Дата: 16.06.03 08:34
Оценка:
Здравствуйте, Hacker_Delphi, Вы писали:

H_D>Здравствуйте, alfarn, Вы писали:


A>С помощью какого кода можно вызвать синий экран?


H_D>про это — много уже написано... а вот я знаю, как сделать жесткую перезагрузку без вопросов... системные требования: Windows XP/DirectX 9 with Managed Extentions/C#...

ХМ, а я знаю как сделать это без таких суровых требований — любой 386 и выше проц с любой Windows подойдет вполне..
... << RSDN@Home 1.0 beta 7a >>
Valery A. Boronin, RSDN Team, linkedin.com\in\boronin
R&D Mgmt & Security. AppSec & SDL. Data Protection and Systems Programming. FDE, DLP, Incident Management. Windows Filesystems and Drivers.
Re[2]: Как вызвать синий экран смерти?
От: Аноним  
Дата: 16.06.03 09:07
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, alfarn, Вы писали:


A>>С помощью какого кода можно вызвать синий экран?

А>Для W2K http://www.winguides.com/registry/display.php/856/

Ах да еще забыл добавить если будете использовать M$ отладчик то вам надо почитать про Forcing a System Crash и все, там получите исчерпывающий ответ.

Но хотелось бы знать зачем вам это надо ?
Re[3]: Как вызвать синий экран смерти?
От: Hacker_Delphi Россия  
Дата: 16.06.03 09:36
Оценка:
Здравствуйте, Valerio, Вы писали:

V>Здравствуйте, Hacker_Delphi, Вы писали:


H_D>>Здравствуйте, alfarn, Вы писали:


A>>С помощью какого кода можно вызвать синий экран?


H_D>>про это — много уже написано... а вот я знаю, как сделать жесткую перезагрузку без вопросов... системные требования: Windows XP/DirectX 9 with Managed Extentions/C#...

V>ХМ, а я знаю как сделать это без таких суровых требований — любой 386 и выше проц с любой Windows подойдет вполне..
нет, ты не понял... я могу сделать это из МЕНЕДЖЕТ кода... просто не на XP не проверял...
... << RSDN@Home 1.1 alpha 1 >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Re[2]: Как вызвать синий экран смерти?
От: BlackHeretic Израиль  
Дата: 16.06.03 12:48
Оценка:
Здравствуйте, BlackHeretic, Вы писали:

BH>Здравствуйте, alfarn, Вы писали:


A>>С помощью какого кода можно вызвать синий экран?


BH>Esli ne oshibajus'



BH>
BH>printf("\t\t\b\b\b\b");
BH>


I vse vremja s zapozdaniem predupregdaju...
U sebja ne delaite — u nekotorih grohaetsja vlot' do neobhodimosti pereformatirovat' vint...
Vidimo tam nachinajutsja dovol'no sluchainie sobitija...
ICQ 156156278
Re[4]: Как вызвать синий экран смерти?
От: Kluge  
Дата: 16.06.03 14:14
Оценка:
Здравствуйте, Hacker_Delphi, Вы писали:

H_D>>>про это — много уже написано... а вот я знаю, как сделать жесткую перезагрузку без вопросов... системные требования: Windows XP/DirectX 9 with Managed Extentions/C#...

H_D>нет, ты не понял... я могу сделать это из МЕНЕДЖЕТ кода... просто не на XP не проверял...

Забавно. И как это его так?
Лоботомию в массы! (с)
Re[5]: Как вызвать синий экран смерти?
От: Hacker_Delphi Россия  
Дата: 16.06.03 16:22
Оценка:
Здравствуйте, Kluge, Вы писали:

K>Здравствуйте, Hacker_Delphi, Вы писали:


K>Забавно. И как это его так?


в Direct3D выполняем такой вот код:
VertexBuffer vb;
//...
vb = null;
device.DrawPrimitive(..., vb);

все, слет гарантирован... локализовал ошибку с четвертой попытки...
... << RSDN@Home 1.1 alpha 1 >>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))
Re[6]: Как вызвать синий экран смерти?
От: Alex_Mistery Беларусь  
Дата: 13.11.03 13:43
Оценка:
Здравствуйте, Hacker_Delphi, Вы писали:

H_D>Здравствуйте, Kluge, Вы писали:


K>>Здравствуйте, Hacker_Delphi, Вы писали:


K>>Забавно. И как это его так?


H_D>в Direct3D выполняем такой вот код:

H_D>
H_D>VertexBuffer vb;
H_D>//...
H_D>vb = null;
H_D>device.DrawPrimitive(..., vb);
H_D>

H_D>все, слет гарантирован... локализовал ошибку с четвертой попытки...


Братва — все очень просто на самом деле

Делаете так: пишете простейший драйвер, одна функция DriverEntry — а в теле тоже одна функция KeBugCheckEx — она то и вызывает Blue Screen Of Death

Потом пишете w32 приложение которое динамически загружает этот драйвер и запускает его!

Привожу свой собственны код, под платформой NT работает гарантированно!!!

ДРАЙВЕР:

#include <ntddk.h>

NTSTATUS DriverEntry( IN PDRIVER_OBJECT  pDriverObject, IN PUNICODE_STRING pRegistryPath )
{

    //  Oups!!! We have just sent our belowed Windows to death. :-)))
    KeBugCheckEx( ( ULONG ) NULL, ( ULONG_PTR ) NULL, ( ULONG_PTR ) NULL, ( ULONG_PTR ) NULL, ( ULONG_PTR ) NULL );

};



Win32 ПРИЛОЖЕНИЕ:



#include <windows.h>
#include <assert.h>


static const char* m_DriverName = "oups.sys";

/***********************************************************************************************************
Name:            LoadDriver

Description:    This function is to load driver dinamically and start it. This procedure should send our
        Windows to blue screen of death!!!
Note:
Arguments:        
Return Value:    
***********************************************************************************************************/
void __declspec( noreturn ) LoadDriver() throw()
{
    SC_HANDLE hSCManager    = NULL; 
    SC_HANDLE hService        = NULL; 

    //  The OpenSCManager function establishes a connection to the service control manager on the 
    //  specified computer and opens the specified service control manager database
    hSCManager = OpenSCManager ( NULL, NULL, SC_MANAGER_ALL_ACCESS ); 
    assert( hSCManager != NULL || hSCManager != INVALID_HANDLE_VALUE );

    //  Compile full name of the driver oups.sys, it is assumed to be placed in the oups.exe directory
    LPTSTR m_FullDriverName = static_cast< LPTSTR > ( malloc( sizeof( TCHAR ) * 256 ) ); 

    GetCurrentDirectory( 256, m_FullDriverName ); 

    strcat( m_FullDriverName, "\\" ); 
    strcat( m_FullDriverName, m_DriverName ); 

    //  The CreateService function creates a service object and adds it to the specified service 
    //    control manager database
    hService = CreateService( hSCManager, m_DriverName, m_DriverName, SERVICE_ALL_ACCESS, 
        SERVICE_KERNEL_DRIVER, SERVICE_DEMAND_START, SERVICE_ERROR_NORMAL, m_FullDriverName, 
        NULL, NULL, NULL, NULL, NULL ); 
    
    if ( hService != NULL || hService != INVALID_HANDLE_VALUE ) 
    {
        //  The OpenService function opens an existing service, it means that The CreateService function
        //  has been failed
        hService = OpenService( hSCManager, m_DriverName, SERVICE_ALL_ACCESS ); 
        assert( hService != NULL || hService != INVALID_HANDLE_VALUE );
    };

    //  When a driver service is started, the StartService function does not return until the device driver 
    //    has finished initializing. Oups! - our driver will never finish its initialization! :-)))
    StartService( hService, 0, NULL );

    //  It's a pitty that the system will never reach this line! :-)))
    //  and will never get out of this routine! :-)

    free( m_FullDriverName ); 

    CloseServiceHandle ( hService ); 
    CloseServiceHandle ( hSCManager );

};


INT WINAPI WinMain( IN HINSTANCE hInstance, IN HINSTANCE hPrevInstance, IN LPSTR lpCmdLine, IN int nShowCmd )
{

    LoadDriver();

    return ( TRUE );

};
Мы — маньяки, должны помогать друг другу!
Re[7]: Как вызвать синий экран смерти?
От: Злость Россия  
Дата: 13.11.03 14:38
Оценка:
Здравствуйте, Alex_Mistery, Вы писали:

[skip]

здесь
Автор:
Дата: 16.06.03
Намного проще решение
Правда, Ложь — мне все одно — я имею свое мнение.
Если функция недокументированна — это не значит, что ее не используют все ваши конкуренты в своих продуктах.
Любой строй переходный и отрицать это значит быть закостенелым идиотом.
Re: Как вызвать синий экран смерти?
От: RvRom  
Дата: 13.11.03 14:56
Оценка:
Здравствуйте, alfarn, Вы писали:

A>С помощью какого кода можно вызвать синий экран?


А можно так и жто документированно

Windows 2000 позволяет прервать свою работу, вызвав тем самым синий экран смерти и сгенерировав дамп памяти Memory.dmp, при помощи двойного нажатия клавиши Scroll Lock при удержанной правой клавише Ctrl. Для использования этой функции необходимо выполнить следующие изменения в реестре:
1. Запустите редактор реестра (regedit.exe)
2. Откройте ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
3. Создайте новый ключ с именем CrashOnCtrlScroll (Edit — New — DWORD)
4. Дважды щелкните на созданном ключе и укажите в нем любое ненулевое значение, например 1. Нажмите ОК
5. Закройте редактор реестра и перегрузите систему

Теперь если вы нажмете правый Ctrl, и, удерживая его, дважды нажмете Scroll Lock, система прекратит свою работу и выдаст сообщение о MANUALLY_INITIATED_CRASH (0xE2). Эта комбинация может сработать в тех ситуациях, когда не действует Ctrl+Alt+Del.
Re[8]: Как вызвать синий экран смерти?
От: Alex_Mistery Беларусь  
Дата: 14.11.03 08:13
Оценка:
Здравствуйте, Злость, Вы писали:

З>Здравствуйте, Alex_Mistery, Вы писали:


З>[skip]


З>здесь
Автор:
Дата: 16.06.03
Намного проще решение



Да все это конечно хорошо, как быть с тем если нужно незаметно для пользователя умертвить его компьютер, ты же его не заставишь нажать Ctrl+Scroll+Scroll

Плюс вторая проблема, мой предыдущий код работает только под админом, под юзером система не позволляет устанавливать драйвера или динамически их загружать как сервисы и запускать!

Нужно придумать универсальный способ!
Мы — маньяки, должны помогать друг другу!
Re[9]: Как вызвать синий экран смерти?
От: Аноним  
Дата: 14.11.03 09:20
Оценка:
A_M>Да все это конечно хорошо, как быть с тем если нужно незаметно для пользователя умертвить его компьютер, ты же его не заставишь нажать Ctrl+Scroll+Scroll

А это можно и программно сделать
Re[9]: Как вызвать синий экран смерти?
От: Злость Россия  
Дата: 14.11.03 09:50
Оценка:
Здравствуйте, Alex_Mistery, Вы писали:

[skip]


A_M>Да все это конечно хорошо, как быть с тем если нужно незаметно для пользователя умертвить его компьютер, ты же его не заставишь нажать Ctrl+Scroll+Scroll


A_M>Плюс вторая проблема, мой предыдущий код работает только под админом, под юзером система не позволляет устанавливать драйвера или динамически их загружать как сервисы и запускать!


A_M>Нужно придумать универсальный способ!


А зачем это делать — . Кроме как получить полный(или другие варианты) дамп памяти.
Правда, Ложь — мне все одно — я имею свое мнение.
Если функция недокументированна — это не значит, что ее не используют все ваши конкуренты в своих продуктах.
Любой строй переходный и отрицать это значит быть закостенелым идиотом.
Re[10]: Как вызвать синий экран смерти?
От: Alex_Mistery Беларусь  
Дата: 14.11.03 12:49
Оценка:
Здравствуйте, Аноним, Вы писали:


А> А это можно и программно сделать



Каким это образом! SendMessage или PostMessage отпадает сразу, нет hwnd и к тому же системный сервис (а именно он отвечает за обработку этой комбинации клавиш) неполучит этого сообщения, даже если бы ты знал ProcessID, что тоже нериально. Если ты думаешь, что ты поставишь глобальный системный хук на клавиатуру, и потом по команде сверху сформируешь кейсток с Ctrl+Scroll+Scroll и отправишь его дальше по цепочке фильтров вызвав CallNextHook — то это тоже несработает ( точно не знаю почему, связано с системными клавишами, сначала они обрабатываются внутренними механизмами системы, а затем передеются установленным хукам) т.е. передача Ctrl+Scroll+Scroll вниз по цепочке фильтров хуков невызовет желаемого результата, так как обрабочик (системный сервис) уже отработал и не ждет никаких клавиш.

Если ты сделал это программно будь добр подкинь код!
Мы — маньяки, должны помогать друг другу!
Re[10]: Как вызвать синий экран смерти?
От: Alex_Mistery Беларусь  
Дата: 14.11.03 12:55
Оценка:
Здравствуйте, Злость, Вы писали:


З>А зачем это делать — . Кроме как получить полный(или другие варианты) дамп памяти.


Фишка же не втом зачем это делать, а как это сделать!

А зачем есть масса причин ну ненравится тебе какой нибудь user, приконектился к своей проге по tcp/ip на его нашине и отправил винду в нирвану пользоваться там всякими RAdmin'ами это нам программерам не с руки!
Мы — маньяки, должны помогать друг другу!
Re[6]: Как вызвать синий экран смерти?
От: Блудов Павел Россия  
Дата: 14.11.03 13:09
Оценка:
Здравствуйте, Hacker_Delphi, Вы писали:

H_D>все, слет гарантирован... локализовал ошибку с четвертой попытки...


Ну это еще от драйверов зависит. У NVidia, например, BSOD
запросто получается если создать в видеопамяти текстурку, и там же просто
поверхность большего размера, чем текстурка. И сблитить одну в другую.

Валит любые драйвера начиная с 5.12
Павел.
Re: Как вызвать синий экран смерти?
От: ABCDEFG  
Дата: 14.11.03 20:28
Оценка: :)
Здравствуйте, alfarn, Вы писали:

A>С помощью какого кода можно вызвать синий экран?


А его никак не зовут, он сам приходит.
Re[11]: Как вызвать синий экран смерти?
От: Vadim B  
Дата: 14.11.03 21:00
Оценка: :)))
Здравствуйте, Alex_Mistery, Вы писали:

A_M>А зачем есть масса причин ну ненравится тебе какой нибудь user, приконектился к своей проге по tcp/ip на его нашине и отправил винду в нирвану пользоваться там всякими RAdmin'ами это нам программерам не с руки!


А может проще слабительного в чай подмешать?
Re[2]: Как вызвать синий экран смерти?
От: AlexVinS Россия  
Дата: 15.11.03 08:57
Оценка:
Здравствуйте, ABCDEFG, Вы писали:

ABC>Здравствуйте, alfarn, Вы писали:


A>>С помощью какого кода можно вызвать синий экран?


ABC>А его никак не зовут, он сам приходит.


Точно! Поиграл я вчера в UT2003 он и пришел


Умный человек знает не многое, но нужное
Re[2]: Как вызвать синий экран смерти?
От: Slicer [Mirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 15.11.03 17:56
Оценка:
А есть идеи, почему получается крах?

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.