Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Вниз

Что может выбить систему до BSOD?   Найти похожие ветки 

 
Ega23 ©   (2007-01-25 10:12) [0]

В юзер-моде?


 
Dmitrij_K   (2007-01-25 10:13) [1]

Убить winlogon.exe


 
Игорь Шевченко ©   (2007-01-25 10:15) [2]

Смотря какой код у BSOD


 
Германн ©   (2007-01-25 10:15) [3]

Скринсэйвер от Руссиновича :)


 
Ega23 ©   (2007-01-25 10:16) [4]

Есть некая программа. Где-то в кишках использует Named Pipes.
Есть повторяемая ошибка, которая выбивает Win2К до BSOD. Дамп памяти пока недоступен (объект далеко).
Вопрос: что может так систему вышибить?


 
Ega23 ©   (2007-01-25 10:18) [5]


> Смотря какой код у BSOD


Пока неизвестно. Должны после обеда прислать.


 
Рамиль ©   (2007-01-25 10:19) [6]

Любую Win2k или на одном компе? Может через драйвер какой нибудь выбить.


 
Rouse_ ©   (2007-01-25 10:39) [7]

Хм, я в свое время валил 2000-ник с 4 SP вызовом IcmpSendEcho с криво выделенным буффером.


 
Сало ©   (2007-01-25 10:42) [8]

Глючные драйвера, как правило. У меня была проблема с драйверами на встроенную звуковуху, обновил, BSOD прекратились...


 
Игорь Шевченко ©   (2007-01-25 11:03) [9]


> Вопрос: что может так систему вышибить?


Все, что угодно. КАКОЙ КОД У BSOD ?


 
Тульский ©   (2007-01-25 11:10) [10]

Железо?


 
Ega23 ©   (2007-01-25 11:16) [11]


> КАКОЙ КОД У BSOD ?


Ещё не знаю.


 
Тульский ©   (2007-01-25 11:18) [12]

http://bugtraq.ru/library/internals/bsod.html


 
Сергей М. ©   (2007-01-25 12:00) [13]


> Что может выбить систему до BSOD.. юзер-моде?


Ничто.
BSOD - результат фатальной ошибки, возникшей при выполнении кода в kernel-time.


 
Игорь Шевченко ©   (2007-01-25 12:01) [14]

Сергей М. ©   (25.01.07 12:00) [13]

Не только


 
Сергей М. ©   (2007-01-25 12:04) [15]


> Игорь Шевченко ©   (25.01.07 12:01) [14]


Пример ?


 
Gero ©   (2007-01-25 12:07) [16]

> [15] Сергей М. ©   (25.01.07 12:04)

http://forum.antichat.ru/thread30488.html :)


 
BiN ©   (2007-01-25 12:09) [17]


> Сергей М. ©   (25.01.07 12:00) [13]
>
>
> > Что может выбить систему до BSOD.. юзер-моде?
>
>
> Ничто.
> BSOD - результат фатальной ошибки, возникшей при выполнении
> кода в kernel-time.

Поддерживаю. В юзермоде все исключения перехватываются подсистемой win32. Друго дело, что bsod может возникнуть из-за некорректных парметров, переданных из режима пользователя системным сервисам.


 
Игорь Шевченко ©   (2007-01-25 12:10) [18]

Сергей М. ©   (25.01.07 12:04) [15]

Например, есть такие функции RtlSetProcessIsCritical, RtlSetThreadIsCritical или соответственно, NtSetInformationProcess, NtSetInformationThread с соответствующими кодами. При завершении таких процессов или потоков система вываливается в Blue Screen, потому что считается, что завершение процессов или потоков такого рода приводит к нецелесообразности дальнейшей работы системы.
На этом эффекте основан знаменитый CSRSS backspace bug, когда из пользовательского режима выведя определенную комбинацию символов на консольное окно гарантированно получается Blue Screen


 
Игорь Шевченко ©   (2007-01-25 12:12) [19]

Gero ©   (25.01.07 12:07) [16]

И это тоже. Ошибка происходит опять же в csrss


 
Сергей М. ©   (2007-01-25 12:12) [20]


> Gero ©   (25.01.07 12:07) [16]


Не катит.

Цитата оттуда:

Ошибка находится в коде драйвера win32 подсистемы

Код драйвера исполняется в ring0, т.е. в kernel-mode


 
Сергей М. ©   (2007-01-25 12:16) [21]


> Игорь Шевченко ©   (25.01.07 12:10) [18]



> При завершении таких процессов или потоков система вываливается
> в Blue Screen, потому что считается, что завершение процессов
> или потоков такого рода приводит к нецелесообразности дальнейшей
> работы системы


Но опять же это решение она принимает в kernel-mode. Или ты возражаешь ?


 
Сергей М. ©   (2007-01-25 12:21) [22]


> BiN ©   (25.01.07 12:09) [17]


> В юзермоде все исключения перехватываются подсистемой win32


Так точно, сэр !

На то и юзер-мода : шаг вправо, шаг влево - расстрел на месте и немедленно.
А вот если сам надзиратель (кернел-мода) мертв или болен, то как раз и происходит крах пенитенциарной системы в виде BSOD. Или, как в примере у ИШ, надзиратель сам застреливается)


 
Игорь Шевченко ©   (2007-01-25 12:23) [23]

Сергей М. ©   (25.01.07 12:16) [21]


> Но опять же это решение она принимает в kernel-mode. Или
> ты возражаешь ?


Решение безусловно принимается в kernel-mode. Функцию KeBugCheck(Ex) просто больше нельзя ниоткуда вызвать :)

Другое дело, что в случае ошибок в CSRSS, WinLogon (и WinInit в Vista) к появлению Blue Screen приводят ошибки, возникшие в User-Mode, а не в kernel-mode.

http://homepages.tesco.net/J.deBoynePollard/FGA/csrss-backspace-bug.html


 
Сергей М. ©   (2007-01-25 12:40) [24]


> Игорь Шевченко ©   (25.01.07 12:23) [23]


> Другое дело, что в случае ошибок в CSRSS, WinLogon (и WinInit
> в Vista) к появлению Blue Screen приводят ошибки, возникшие
> в User-Mode, а не в kernel-mode.


А это, с т.з. ОС, не является ошибкой юзер-моды - логика системы осознанно разрешает юзерскому процессу при наличии соотв.привелегий изменять приоритеты тех или иных процессов до критических, после чего, разумеется, система встает перед дилеммой, жить ли ей дальше совершенно бестолково или сразу застрелиться)


 
Игорь Шевченко ©   (2007-01-25 12:47) [25]

Сергей М. ©   (25.01.07 12:40) [24]

А я ссылочку привел в [23]

К чему собственно привел - MS декларирует, что ни одна ошибка произошедшая в пользовательском режиме не может привести к краху системы. В данном случае это не так. Кроме того, небезызвестные Руссинович и Когсуэлл занимались тем, что вызывали системные вызовы с левыми параметрами из пользовательского же режима, и в ряде случае  получали Blue Screen, так как ядерная часть этих вызовов не всегда проверяла корректность переданных параметров.


 
Сергей М. ©   (2007-01-25 13:14) [26]


> Игорь Шевченко ©   (25.01.07 12:47) [25]


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

Или ты хочешь сказать, что есть баговые ситуации, когда систему можно поставить в позицию раком НЕ проходя тем или иным образом тот или иной шлюз ?


 
chvank   (2007-01-25 13:14) [27]

Если синий экран - можно что то сделать без перезагрузки и продолжить работу?


 
Ega23 ©   (2007-01-25 13:16) [28]

Код BSOD - 1E и 0А


 
iZEN ©   (2007-01-25 19:13) [29]

Вот этот код убивает Windows из user-mode:
program messagebug;
{$APPTYPE CONSOLE}
uses
 Windows;
const
 s = "\??\C:\\";
var
 I: Integer;
begin
 for I := 0 to 9 do
    MessageBox(0,s,s,MB_SERVICE_NOTIFICATION);
end.

:))


 
iZEN ©   (2007-01-25 19:15) [30]


> chvank   (25.01.07 13:14) [27]
>
> Если синий экран - можно что то сделать без перезагрузки
> и продолжить работу?

Нет. Это STOP-ошибка.


 
$Pl@Sh ©   (2007-01-25 21:52) [31]


>  Что может выбить систему до BSOD?
>
> Ega23 ©   (25.01.07 10:12)  
>
> В юзер-моде?


Юзер, что ж еще?



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.52 MB
Время: 0.042 c
15-1170080238
Arpilin
2007-01-29 17:17
2007.02.18
Нужны исходники дефрагментатора диска


15-1169614078
Elen
2007-01-24 07:47
2007.02.18
Вопросы о Жестких дисках


2-1169979892
w666w
2007-01-28 13:24
2007.02.18
Иероглифы в TMemo и TEdit


8-1148017505
antonn
2006-05-19 09:45
2007.02.18
получить спектр звука с микрофона


4-1160299759
breeze
2006-10-08 13:29
2007.02.18
дата создания процесса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский