flat assembler
Message board for the users of flat assembler.
![]() Goto page 1, 2 Next |
Author |
|
zhak 27 Dec 2006, 08:59
AFAIK, BSOD is called with KeBugCheckEx function. you may check MSDN library for error codes or... disassemble it to see how it really works
![]() |
|||
![]() |
|
kohlrak 27 Dec 2006, 09:03
Are you saying that i could manually call the BSOD?
EDIT: cute... i'm assuming kernel32.dll... I'm not testing it to find out, don't feel like crashing my comp with all these windows open. lol Last edited by kohlrak on 27 Dec 2006, 09:11; edited 1 time in total |
|||
![]() |
|
zhak 27 Dec 2006, 09:11
I didn't try, but I think it's posiible... at least from ring0
|
|||
![]() |
|
kohlrak 27 Dec 2006, 09:29
|
|||
![]() |
|
zhak 27 Dec 2006, 09:48
you interested me
![]() |
|||
![]() |
|
kohlrak 27 Dec 2006, 09:50
I hear that alot. I've never had to reinstall windows after a bluescreen. I wonder what causes some people to have to.
|
|||
![]() |
|
ACP 27 Dec 2006, 23:08
One way to always trigger BSOD is to hook SYSENTER and uninstall driver without restoring IA32_SYSENTER_EIP register (machine specific register 176h) - you can do the same with INT 2Eh on older architectures.
Another simple method is to trigger page fault at certain IRQL. Device driver also is allowed to explicitly calling KeBugCheckEx function which tries to down system in a controlled way. Inside KeBugCheckEx is really a wrapper (including hotpatching prolog on XP SP2/Windows 2003) to KeBugCheck2 which does all the inner workings. |
|||
![]() |
|
kohlrak 30 Dec 2006, 22:26
So, essentually i can go ahead and crash the computer by calling the bug check.
|
|||
![]() |
|
ACP 31 Dec 2006, 15:51
kohlrak wrote: So, essentually i can go ahead and crash the computer by calling the bug check. Yes if you look for controlled way which should be safe for the system. |
|||
![]() |
|
comrade 31 Dec 2006, 17:28
maybe you are misunderstanding the goal of BugCheck...
NT BugCheck is called a kernel panic in UNIX. It is called by the OS, purposely, when it knows something is wrong and it is afraid to go on. For example, file system driver code may call a bugcheck when it detects that certain data-structures are not consistent. Rather than trying to fix the problem with the chance of something even more going wrong and destroying user's data, it instead calls a kebugcheck (making the kernel panic) to display a blue-screeen, telling the user there was an error Quote: Yes if you look for controlled way which should be safe for the system Not always - bugcheck may cause certain data not be flushed to disk, leaving the file-system in an inconsistent state. I had that once after a BSOD - my system would not boot at all. Fortunately, all I had to was run chkdsk from the recovery console to fix the problem. |
|||
![]() |
|
ACP 31 Dec 2006, 17:33
comrade wrote: maybe you are misunderstanding the goal of BugCheck... This is why I used "should" in my post. |
|||
![]() |
|
kohlrak 01 Jan 2007, 18:44
KeBugCheck is a callable function, but i can't find the DLL it's in, since it's not in kernel32. I did some research, all i got was C++ header files...
|
|||
![]() |
|
f0dder 01 Jan 2007, 23:46
|
|||
![]() |
|
ACP 02 Jan 2007, 00:01
kohlrak wrote: KeBugCheck is a callable function, but i can't find the DLL it's in, since it's not in kernel32. I did some research, all i got was C++ header files... Take a look here: http://msdn2.microsoft.com/en-us/library/ms801645.aspx You have to call it from ring 0. |
|||
![]() |
|
kohlrak 02 Jan 2007, 02:39
i don't see anything about "ring 0" in there, but what is ring 0? (and that is a lovely screensaver. lol)
|
|||
![]() |
|
LocoDelAssembly 02 Jan 2007, 02:47
Drivers runs at that privilege level. About ring levels http://en.wikipedia.org/wiki/Protected_mode#Privilege_levels
NTOSKRNL.EXE exports KeBugCheck and KeBugCheckEx |
|||
![]() |
|
kohlrak 02 Jan 2007, 04:13
Without editing priviledge levels, i tried pulling something from that exe before, and the program itself crashed saying that i didn't initialize properly. So, essentually, all i do is set the level high or low enough then i can call it? Note: reply posted before actually reading the wiki. reading wiki now.
|
|||
![]() |
|
ACP 02 Jan 2007, 09:01
|
|||
![]() |
|
kohlrak 02 Jan 2007, 11:35
THank you, looks like i got more to read. lol
|
|||
![]() |
|
Goto page 1, 2 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.