Форум: "Прочее";
Текущий архив: 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.069 c