[Windows] explorer.exe
什么是 explorer.exe
explorer.exe 是 Windows 的默认 Shell,而 Shell 是操作系统提供给用户的交互程序。Shell 直译就是壳,即内核外层的东西。
Shell 分为两种:
- 图形 Shell (cmd.exe,powershell等)
- 命令行 Shell(桌面,任务栏,开始菜单等)
explorer.exe 的职责
explorer 其实就是系统自带的图形界面版内核与用户交互软件,正常 Windows 上一切的应用都需要通过 explorer 直接或者间接打开。
explorer 负责了任务栏,开始菜单,桌面的显示,同时也是文件管理器,功能复杂。所以一旦 explorer 进程崩溃,桌面和任务栏就会消失,一般情况下 explorer 会自动重启。
大部分桌面程序都是 explorer 的子进程,另外直接能看见的东西大部分都是它负责,除此之外还有一些不能看到的,比如 Windows 的快捷键(对应 explorer 进程的热键)。
如何利用 explorer.exe
强制重启 explorer 进程会让注册表改动立即生效,不需要重启计算机或注销计算机。
因为大部分进程的父进程都是 explorer (如果你是人为的去打开的它),所以可以直接 hook explorer 的 CreatePorcess 从而在 r3 监控进程的创建。
其他
Windows 的开始菜单在 Windows7 及之前是 explorer 的一部分。Windows8 中“开始”改成了类似移动端的开始屏幕,Windows10 改成了独立的 UWP,但是和 explorer 仍有密切的关系,比如开始菜单卡死了可以重启 explorer 解决。