2024年11月WINDOWS启动和关机流程大揭秘(2)

发布时间:

  ⑴第四 Winlogon Csrss过程

  ⑵.加载GINA模块,默认为Msgina (WindowsSystemMsgina.dll)

  ⑶.启动服务进程WindowsSystemServices.exe

  ⑷.启动Lsass(the local secyrity authentication subsystem)进程

  ⑸.Gina开始处理交互式登陆,登陆验证成功后,Gina就运行HKLMSoftwareMicrosoftWindows NTCurrentVersionWinLogonUserinit,Userinit.exe执行的顺序为:首先处理HKCUSoftware PoliciesMicrosoftWindowsSystemScripts 和HKLMSoftwarePoliciesMicrosoftWindowsSystemScripts这里的脚本,然后处理组策略(假如有的话,运行WindowsSystemProquota.exe),最后运行HKCUSoftwareMicrosoft Windows NTCurrentVersionWinlogonShell里的SHELL(如果不存在就运行HKLMSoftwareMicrosoft Windows NTCurrentVersionWinlogonShell里的,一般这里默认的是EXPLORER.exe),注意这里也是最容易让恶意软件利用的地方。

  ⑹.最后就是启动其他的启动程序,服务。

  ⑺WINDOWS的关机流程:

  ⑻正常关机都是调用ExitWindowsEx这个函数,Csrss收到这个消息后,先给Winlogon所属的窗口发关机消息,等 Winlogon处理完后,Csrss然后给每个有关机级别的进程发关机消息(种消息 WM_QUERYENDSESSION/WM_ENDSESSION),这里的等待时间在HKCUControl PanelDesktopHungAppTimeout这里设置,默认是 milliseconds,如果在这个时间范围内有线程没处理完,那就会弹出个窗口,让用户来结束,当然也可以设置让系统自动结束,只要设置HKCU Control PanelDesktopAutoEndTasks 为 就可以了,对于控制台应用程序,则Csrss发这个CTRL_LOGOFF_EVENT事件(服务进程是发CTRL_SHUTDOWN_ EVENT这个事件),同样的流程,有个等待时间,设置在HKCUControl PanelDesktopWaitToKillAppTimeout (默认为 , milliseconds),接着同样的处理系统进程,处理完后,Winlogon就调用NtShutdownSystem,这个函数在调用 NtSetSystemPowerState来处理驱动和其他的一些子系统。这样整个关机过程就完成了。

  ⑼通过上文的学习,我们都知道,系统关机时要进行一系列的操作,包括:关闭窗口、结束进程和服务、保存数据等等。快速关机是否省掉了某些步骤,这样做又会不会对系统有所危害呢?你是不是都有所了解了呢?学了本教程后,是不是心里就有了答案.