· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.WIN32 —› Как вызывается BSoD?

. 1 . 2 . >>

Посл.отвђт Сообщенiе


Дата: Сен 17, 2003 18:02:31

Subj.
Я где-то читал, что есть функции для эго вызова и снятия...Кто-нибудь знает?


Дата: Сен 17, 2003 18:21:06

Что-то в Шрайбере написано... Забыл. Кнопку можно назначить. Или драйвер написать с xor eax,eax; mov [eax], eax.


Дата: Сен 17, 2003 18:28:35

Windbg help

Forcing a System Crash from the Keyboard

[This is preliminary documentation and subject to change.]

A system crash can be directly caused from most non-USB keyboards.

Two preparations must be made before this can be done:

If you wish a crash dump file to be written, you must enable such dump files, choose the path and file name, and select the size of the dump file. For details, see Enabling a Kernel-Mode Dump File.
You must enable the keyboard-initiated crash in the registry. In the registry path HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\i8042prt\Paramete rs, create a key named CrashOnCtrlScroll, and set it equal to REG_DWORD 0x1 (or any nonzero value).
The system must be rebooted before these changes will take effect.

After this has been done, the keyboard crash can be initiated as follows. Hold down the rightmost CTRL key, and press the SCROLL LOCK key twice.

It is possible for a system to freeze in such a way that this CTRL+SCROLL LOCK+SCROLL LOCK sequence will not work. However, this should be a very rare occurrence. The CTRL+SCROLL LOCK+SCROLL LOCK crash initiation will work even in many instances where CTRL+ALT+DEL does not work.

The system then calls KeBugCheck with a bug check code of MANUALLY_INITIATED_CRASH (0xE2). Assuming crash dumps have been enabled, a crash dump file is written at this point.

If a kernel debugger is attached to the frozen machine, the machine will break into the kernel debugger after the crash dump file has been written.

The MANUALLY_INITIATED_CRASH bug check has value 0x000000E2. This signifies that the user deliberately initiated a crash dump from either the kernel debugger or the keyboard.

For details on manually-initiated crash dumps, see the debugger documentation.



А еще лучше - вставь нехороший код в driver entry


Дата: Сен 17, 2003 18:58:35

KeBugCheck
KeBugCheckEx

Можно свой колбэк зарегистрировать KeRegisterBugCheckCallback, который пред бсодом вызываться будет, но для отмены багчека нет функции, хотя теоритически такое без проблем можно сделать.


Дата: Сен 18, 2003 06:13:14

В Win95 можно было вызывать WinExec("com/com") или что-то в этом роде.


Дата: Сен 18, 2003 17:53:44

Я делал вот так:

ZwRaiseHardError
ZwRaiseHardError displays a message box containing an error message.
NTSYSAPI
NTSTATUS
NTAPI
ZwRaiseHardError(
IN NTSTATUS Status,
IN ULONG NumberOfArguments,
IN ULONG StringArgumentsMask,
IN PULONG Arguments,
IN HARDERROR_RESPONSE_OPTION ResponseOption,
OUT PHARDERROR_RESPONSE Response
);


call VirtualAlloc,0,100,1000h,40h
lea ebx,[eax+4]
call RtlInitUnicodeString,ebx,offset str1
lea eax,[ebx-4]
mov dword ptr [eax],ebx
push eax
push 6

call VirtualAlloc,0,100,1000h,40h
lea ebx,[eax+4]
call RtlInitUnicodeString,ebx,offset str2
lea eax,[ebx-4]
mov dword ptr [eax],ebx

push eax
push 1
push 2
push 0c000021ah ; какой-нибудь статус


call RtlAdjustPrivilege,13h,1,1,offset dummy
cmp eax,0c000007Ch
jnz skipshutoff
call RtlAdjustPrivilege,13h,1,0,offset dummy

skipshutoff: call NtRaiseHardError


Дата: Сен 18, 2003 18:10:09

Вот мой BSOD для NT/2000.
Удалось уговорить Марка, чтобы он со своими связями наконец достучался до MS и в очередной версии SP для XP они уже исправили это.
Из 3го кольца. Старый глюк в консольном классе.

1878496832__bsod.zip


Дата: Сен 18, 2003 18:19:06

В nt/w2k можно еще и так:

SendMessage(FindWindow(0,'NetDDE Agent'),WM_TIMER,0,GetProcAddress(GetModuleHandle('kernel32.dll'),'Exi tProcess'))


Дата: Сен 18, 2003 18:34:46

The Svin
Чего-то не получилось у меня экран смерти увидать :) В чем там глюк должен быть? Пускал на 2к+сп3.


Дата: Сен 18, 2003 19:05:43

masquer
Вот за это мне и спасибо :)
Что у тебя стоит SP, которое написали с исправлениями бага,
на который Свин настойчиво обратил внимание Руссиновича,
потому как сам MS,, как сборище надутых дятлов, оставался глух ко мне.
Пришлось влиять через человека который к ним вхож.

Ещё раз внимательно прочитай письмо. Баг уже исправили в первом SP
к XP, соответсвенно во всех последующих SP для NT family он тоже исправлен.
Найди просто или NT 4 или 2000 без или с 1ым SP и проверь.

Вот куски истории:

M:
Is Microsoft aware of the bug?

S:
I discovered it somewhere in 96-97. And still it crashes system on
Win2000.
As to report to MS, I did some several reports before about kernel
bugs with full data and analisses,
but never got any answer, so I thought they are not interested
:) and stopped it

M:
I'll report it to Microsoft in case they aren't aware of it. Good work
in finding it.

Это вкратце история.
Первым после этого из новых SP для NT вышел очередной SP для XP.
У меня XP небыло, но шурин, который был сисадминил наш Политехнический
институт и проверял но мой BSOD все новые NT и новые сервиспаки, сообщил
что в XP с новым SP больше это баг не работает.

Хотя в релизе про этот SP, про баг небыло ни слова, я определённо считаю
что Марк с его въедливостью и деликатностью всё же доканал или рабочую группу
или самого Катлера - сеньёра архитектора с которым он последние годы в больших
приятелях, с тех пор как MS решил наконец распахнуть двери для Руссиновича и
Соломона, предпочтя их иметь союзниками.

Баг на самом деле был известен много лет уже.


Дата: Сен 18, 2003 19:22:12

Ага, интересно. Да, я прочитал, только, имхо 3 сервис пак для 2к вышел раньше 1-го для хр (или я не угадал?)

Вот за это мне и спасибо :)
Вот это правильно - сам себя не похвалишь - никто не похвалит. Спасибо... и за пояснения тоже ;)


Дата: Сен 18, 2003 19:26:16

Посмотри дату выхода - у меня нет.
Письмо от Марка что всё будет теперь пучком было:
Sunday, June 16, 2002 5:07 PM


Дата: Сен 18, 2003 19:39:02

Да, 3 пак чуть-чуть попозже вышел.


Дата: Сен 18, 2003 19:51:47

Вот это правильно - сам себя не похвалишь - никто не похвалит.
:)

Это обычная сублемация-рефлексия.
Я раньше всё думал, чего это в одной эхе люди общаются корректно и говорят в предельно практичном тоне, а в другой постоянные распальцовки, наезды, люди в основном определяются и мерются.
Можно конечно объяснить континегтом, модератором и прочими вещами. Но ведь начинается то с какого-то человека.

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

Потом стал замечать за собой как уволился и пошёл в свой эксперимент. Раньше - начнёт кто-то пальцы растопыривать,
ну абсолютно индифирентно воспринимаешь, типа крутой говоришь, конечно крутой, кто спорит, Генерально крутой - а я баиньки пошёл, голова трещит после работы. И обычно или от эхи после отпишешься ради уменьшения мусора или в твит.

Сейчас начал замечать, то на философию потянет, то хвост охота распушить, то на какой-нить пустяк начинаешь рефлексировать. Вобщем знаем за собой такие типичные человечьи поведения :)


Дата: Сен 18, 2003 20:26:26

Это обычная сублемация-рефлексия.
Это еще может от того происходить, что в одной эхе люди нормально общаются потому, что не видят смысла в ней утверждаться. Например известно, что ВСЕ люди абсолютно профессионально разбираются в двух вещах - футболе и политике - тут сложно самоутвердиться, когда все профи :). А в другой эхе/форуме - видят, поэтому и пытаются увеличить свое Я за счет уменьшения чужого.
Алекс, тебе то уж точно нет смысла хвост распушивать :))
А вообще офтопик это жуткий уже пошел :))) Дабы не совсем офтопик - а эксперимент с ассемблером связан?

. 1 . 2 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.093