Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: [C++] system crash  (Прочитано 11352 раз)
0 Пользователей и 1 Гость смотрят эту тему.
The Nameless One
Помогающий

ru
Offline Offline
Пол: Мужской

« : 15-02-2010 12:41 » 

Привет!
Любопытства ради просят меня тут написать программу, которая приведёт к BSOD.
А я что-то ума не приложу!
Скажите, пожалуйста, как это устроить? Может, переполнить стек - как, подскажите?

P.S. Я только компилировать буду, а не запускать! Улыбаюсь Запускать будет "заказчик" на virtual box.

Очень бы хотелось, чтобы "программа" была кроссплатформенной - приводила к crash на линуксе и виндоус.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 15-02-2010 12:46 » 

злые языки говорят, в АПИ винды есть специальная функция Crash()  Отлично

Кстати, а есть ли в линуксе бсод ?
Записан

The Nameless One
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 15-02-2010 12:48 » 

а на линуксе, говорят, чёрные с надписью kernel panic )

Записан
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #3 : 15-02-2010 12:49 » 

На linux BSOD нет.. там простой rm -rf пройдет и системы нет Улыбаюсь
Под Windows можно пробовать удалять все файлы по очереди из C:\windows\system32 и рано или поздно все умрет.
Деструктивный способ, да Улыбаюсь
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #4 : 15-02-2010 12:52 » 

The Nameless One, Чтоб Linux так заволить. Нужно развлекаться на уровне ядра. За почти 5 лет работы в нем, я ни разу не видел kernel panic от действий пользовательских приложений. Максимум Иксы заваливаются.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #5 : 15-02-2010 12:54 » 

Цитата
На linux BSOD нет.. там простой rm -rf пройдет и системы нет
baldr, Для этого нужно быть еше и root. Иначе только хана данным текушего пользователя.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
The Nameless One
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 15-02-2010 12:58 » 

Можно именно приложением вызвать BSOD windows'a?

Неужели не подскажите?  Улыбаюсь

Может,  получить адрес памяти, в которой загружены жизненно важные органы ОС и стереть его:

void *die = GetAdress(...);
delete []die;
« Последнее редактирование: 15-02-2010 13:38 от The Nameless One » Записан
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #7 : 15-02-2010 13:38 » 

http://pcsupport.about.com/od/tipstricks/ht/makebsodxp.htm
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
The Nameless One
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 15-02-2010 13:44 » 

Спасибо за ссылку
Интересная информация!
Но вопрос все равно открыт - возможно ли сделать это приложением без манипуляций с реестром?
« Последнее редактирование: 15-02-2010 13:55 от The Nameless One » Записан
The Nameless One
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 15-02-2010 15:17 » 

Вот подсказали http://msdn.microsoft.com/en-us/library/ms801645.aspx
Не разберусь, с какими параметрами её вызывать? Можно NULL передать?
Записан
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 15-02-2010 20:37 » 

The Nameless One, только что бы использовать данную функцию? тебе с начало надо свой драйвер написать. А из кода ядра, как тебе было уже сказано выше, повесить систему много ума не надо, достаточно обратиться по нулевому указателю.

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

А ту цель которую ты для себя поставил, можно охарактеризовать следующим высказыванием: поиски коня в сферическом вакууме.
Записан
Serg79
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 15-02-2010 20:39 » 

По моему топик из той же серии что и про "ЛЕС" )))
Записан
The Nameless One
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #12 : 15-02-2010 21:34 » 

Ну, я лишь скромно спросил, потому что я дилетант и до спеца мне очень далеко. Я вообще учиться программированию начал поздно - уже после окончания универа.
Откуда мне знать такие вещи Улыбаюсь  Тем более что в системные все эти дела вообще не лезу.
Просто стало очень любопытно, никакой такой цели не ставил.

Про "ЛЕС" не в курсе.
« Последнее редактирование: 15-02-2010 21:37 от The Nameless One » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines