標 題:
玩玩360——ExitWindowsEx大法
作 者:
dplayer
時 間: 2009-09-10,13:54
鏈 接: http://bbs.pediy.com/showthread.php?t=97539
現在流行R3,對R0里的東西大伙都不太感興趣了,俺來放個R3暴力結束進程的代碼,看雪里貌似有個類似的bin,不管它,玩玩而已-_-
?????先來看下Windows?XP的關機流程: ?
?????1、當Windows?XP用戶發起關機指令以后,發起關機指令的執行程序會調用系統函數庫?user32.dll中的?ExitWindowsEx?函數,此函數向XP系統進程?Csrss.exe?發出關機信息,Csrss.exe立即再把信息傳遞給隱含的Winlogon.exe窗口。 ?
?????2、Winlogon.exe接到前面Csrss.exe傳來的信息后,Winlogon.exe開始檢查請求者的權限,預先做好準備,并給ExitWindowsEx發回準備就緒信號。Csrss.exe收到Winlogon.EXE的通知以后,會依次查詢擁有頂層窗口的用戶進程,讓這些用戶退出進程。如果某一個用戶進程在一個默認的延時時間5000毫秒內沒有退出的話,Windows?XP會顯示一個結束任務的對話框用于詢問用戶是否結束這個任務。默認情況下將顯示這個對話框并一直保持而不會自動關閉。
3、此時Winlogon.exe將再次調用ExitWindowsEx函數來關閉系統進程。(這些系統進程包括SMSS.EXE、Winlogon.EXE、Lsass.EXE等)。Windows在終止系統進程的時候并不像終止用戶進程那樣:進程無法在規定時間內終止,則提示用戶。而是跳過這個進程,去執行下一個系統進程的終止操作。在這個時間段里面,Windows?XP會執行子系統來完成最后的關機操作。
??4、?當準備工作全部完成后,Smss.exe命令釋放所有系統資源,最后Smss.exe調用NtShutdownSystem函數,等除了電源管理以后的全部子系統完成退出以后,電源管理完成最后的操作:重啟或關機。
????了解了Windows?XP的關機流程以后,偶們很容易利用Windows窗口消息機制,實現ExitWindowsEx偽關機操作,結束頑固窗口進程。代碼完成后,初略試驗了一下,V5.2版360和保險箱是無聲無息的消失了^-^..微點、卡巴、金山、瑞星之類的殺軟窗口進程也可以結束掉,主防成了睜眼瞎,加載驅動,不再有摭攔,很好玩啊。呵呵。。。。
???關于
WM_QUERYENDSESSION,MSDN上有明確的講解,摘錄如下,
The?WM_QUERYENDSESSION?message?is?sent?when?the?user?chooses?to?end?the?session?or?when?an?application?calls?the?ExitWindows?function.?If?any?application?returns?zero,?the?session?is?not?ended.?The?system?stops?sending??????WM_QUERYENDSESSION?messages?as?soon?as?one?application?returns?zero.?
After?processing?this?message,?the?system?sends?the?WM_ENDSESSION?message?with?the?wParam?parameter?set?to?the?results?of?the?WM_QUERYENDSESSION?message.?
WM_QUERYENDSESSION?
nSource?=?(UINT)?wParam;????//?source?of?end-session?request?
fLogOff?=?lParam????????????//?logoff?flag?
?
Parameters
nSource?
Reserved?for?future?use.?
fLogOff?
Value?of?lParam.?Indicates?whether?the?user?is?logging?off?or?shutting?down?the?system.?Supported?values?include:?ENDSESSION_LOGOFF.?
Return?Values
If?an?application?can?terminate?conveniently,?it?should?return?TRUE;?otherwise,?it?should?return?FALSE.?
Remarks
By?default,?the?DefWindowProc?function?returns?TRUE?for?this?message
代碼放后面了,大家共同交流學習。祝大家節日快樂,每天都有毒殺-_-