Bu1'Blog

如果能控制粗鄙的狂喜,就不会有深入骨髓的悲伤。

0%

Windows基础(二):进程、目录、通配符

本文简要介绍了Windows的常见进程、目录树以及常用通配符介绍。

系统常见进程

进程名 程序路径 功能
smss.exe %windir%\System32\smss.exe 会话管理子系统,用于初始化系统变量。该进程不可被结束,否则有蓝屏的风险。
winlogon.exe %windir%\System32\winlogon.exe 用户登录程序,管理用户登录和退出。该进程不可被结束,一旦结束可能会关机倒计时或者蓝屏。
svchost.exe %windir%\System32\svchost.exe 主机服务进程,宿主程序,用于加载dll。它的一些行为实际上是它所加载的dll的行为。它负责一些系统服务,包括网络部分。系统升级一般是由它来调用wuauclt.exe来执行。它也会加载一些驱动,例如%windir%\system32\DRIVERS\mrxsmb.sys(TCP/IP协议的重要驱动)。
services.exe %windir%\System32\services.exe 服务及服务控制器应用程序,专门负责系统服务的启动,运行,停止,更改。你可以把它看作本机的SCM。一般来说,\system32\drivers里的驱动程序是由它来加载的。该进程不可被结束,一旦结束,可能就会关机倒计时。
alg.exe %windir%\System32\alg.exe 用来处理Windows网络连接共享和网络连接防火墙。当你用浏览器进行FTP下载时,如果不去调用ftp.exe,可能就会使用alg.exe 代劳,所以一些防火墙的规则中会允许它监听FTP连接。
Ati2evxx.exe %windir%\System32\Ati2evxx.exe ATI显卡(AMD)服务进程,如果你用的是NVIDIA显卡,那么它应该是%windir%\system32\nvsvc32.exe
spoolsv.exe %windir%\System32\spoolsv.exe 打印服务,管理所有本地和网络打印队列及控制所有打印工作,该进程属于系统服务,不能禁止。
lsass.exe %windir%\System32\lsass.exe 本地安全授权服务,管理 IP 安全策略以及启动 ISAKMP/Oakley (IKE) 和 IP 安全驱动程序等。用户使用winlogon.exe进行登录时,由它来进行安全检查并授权。该进程不可被结束,一旦结束,可能就会关机倒计时。
csrss.exe %windir%\System32\csrss.exe win32子系统的一部分,很重要的进程。一般来说,系统关机时,是由它来结束所有进程的。该进程不可被结束,一旦结束,可能就会关机倒计时,甚至蓝屏。
miprvse.exe %windir%\System32\wbem \miprvse.exe Windows操作系统的一部分,其作用是通过WinMgmt.exe程序处理WMI操作,是一个关键进程。wmiprvse.exe WMI 包括对象储备库和 CIM 对象管理器。对象管理器负责处理储备库中对象的收集和操作并从WMI provider (在WMI 和操作系统、应用程序以及其他系统的组件之间充当中介)收集信息。简单来说,运行管理工具中的某个应用程序的时候,在系统进程管理中可以看到wmiprvse.exe进程。
explorer.exe %windir%\Explorer.exe 资源管理器,用户与系统内核交互的Shell。在人机交互时,它的行为代表用户的操作。结束它,桌面就没了。HIPS规则设置不当,限制了它的正常行为时,登录会很慢,操作电脑会很卡;如果误拦它的正常行为,那就进不了系统。
ctfmon.exe %windir%\System32\ctfmon.exe 输入法,如果在注册表的开机启动项里删掉它的键值,开机后任务栏上就没有输入法图标了。曾经有病毒替换过它,一般来说,应该阻止结束它的进程以防病毒启用一个假冒进程。
taskmgr.exe %windir%\System32\taskmgr.exe 任务管理器,查看进程以及结束进程时一般会用到。
rundll32.exe %windir%\System32\rundll32.exe 32位dll文件运行器,用于在内存中运行32位的dll程序。该进程随系统启动,无法停止。用户的一些操作,比如设置某个程序来打开某种文件,控制面板里进行Internet选项设置等,都需要借用它来完成,它的权限需要妥善处理和控制,权限太大时会产生危害。
mmc.exe %windir%\System32\mmc.exe Windows管理控制程序,显示管理插件的控制面板。它通过调用和运行system32下面的一些msc文件来完成相关的设置操作。当使用控制面板进行一些操作时,就会用到它。
cmd.exe %windir%\System32\cmd.exe 命令行解释执行程序,可以解释执行windows命令和标准DOS命令。很多情况下,它是病毒逞凶的罪魁祸首,应该严格控制它的权限和使用。
userinit.exe %windir%\System32\userinit.exe 它负责检验系统环境,确认正常后就启动explorer.exe,然后把桌面控制权交给explorer,自己从进程表中消失。

附录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
最基本的系统进程(也就是说,这些进程是系统运行的基本条件,有了这些进程,系统就能正常运行): 
  smss.exe Session Manager
  csrss.exe 子系统服务器进程
  winlogon.exe 管理用户登录
  services.exe 包含很多系统服务
  lsass.exe 管理 IP 安全策略以及启动 ISAKMP/Oakley (IKE) 和 IP 安全驱动程序。产生会话密钥以及授予用于交互式客户/服务器验证的服务凭据(ticket)。(系统服务)
  svchost.exe 包含很多系统服务
  SPOOLSV.EXE 将文件加载到内存中以便迟后打印。(系统服务)
  Explorer.exe 资源管理器
  internat.exe 托盘区的拼音图标 (现在为ctfmon.exe

附加的系统进程(这些进程不是必要的,你可以根据需要通过服务管理器来增加或减少):
  mstask.exe 允许程序在指定时间运行。(系统服务)
  regsvc.exe 允许远程注册表操作。(系统服务)
  winmgmt.exe 提供系统管理信息(系统服务)。
  inetinfo.exe 通过 Internet 信息服务的管理单元提供 FTP 连接和管理。(系统服务)
  tlntsvr.exe 允许远程用户登录到系统并且使用命令行运行控制台程序。(系统服务)
  tftpd.exe 实现 TFTP Internet 标准。该标准不要求用户名和密码。远程安装服务的一部分。(系统服务)
  termsrv.exe 提供多会话环境允许客户端设备访问虚拟的 Windows 2000 Professional 桌面会话以及运行在服务器上的基于Windows的程序。(系统服务)
  dns.exe 应答对域名系统(DNS)名称的查询和更新请求。(系统服务)

以下服务很少会用到,上面的服务都对安全有害,如果不是必要的应该关掉:
  tcpsvcs.exe 提供在 PXE 可远程启动客户计算机上远程安装 Windows 2000 Professional 的能力。(系统服务)
  支持以下 TCP/IP 服务:Character Generator, Daytime, Discard, Echo, 以及 Quote of the Day。(系统服务)
  ismserv.exe 允许在 Windows Advanced Server 站点间发送和接收消息。(系统服务)
  ups.exe 管理连接到计算机的不间断电源(UPS)。(系统服务)
  wins.exe 为注册和解析 NetBIOS 型名称的 TCP/IP 客户提供 NetBIOS 名称服务。(系统服务)
  llssrv.exe License Logging Service(system service)
  ntfrs.exe 在多个服务器间维护文件目录内容的文件同步。(系统服务)
  RsSub.exe 控制用来远程储存数据的媒体。(系统服务)
  locator.exe 管理 RPC 名称服务数据库。(系统服务)
  lserver.exe 注册客户端许可证。(系统服务)
  dfssvc.exe 管理分布于局域网或广域网的逻辑卷。(系统服务)
  clipsrv.exe 支持“剪贴簿查看器”,以便可以从远程剪贴簿查阅剪贴页面。(系统服务)
  msdtc.exe 并列事务,是分布于两个以上的数据库,消息队列,文件系统,或其它事务保护资源管理器。(系统服务)
  faxsvc.exe 帮助您发送和接收传真。(系统服务)
  cisvc.exe Indexing Service(system service)
  dmadmin.exe 磁盘管理请求的系统管理服务。(系统服务)
  mnmsrvc.exe 允许有权限的用户使用 NetMeeting 远程访问 Windows 桌面。(系统服务)
  netdde.exe 提供动态数据交换 (DDE) 的网络传输和安全特性。(系统服务)
  smlogsvc.exe 配置性能日志和警报。(系统服务)
  rsvp.exe 为依赖质量服务(QoS)的程序和控制应用程序提供网络信号和本地通信控制安装功能。(系统服务)
  RsEng.exe 协调用来储存不常用数据的服务和管理工具。(系统服务)
  RsFsa.exe 管理远程储存的文件的操作。(系统服务)
  grovel.exe 扫描零备份存储(SIS)卷上的重复文件,并且将重复文件指向一个数据存储点,以节省磁盘空间。(系统服务)
  SCardSvr.exe 对插入在计算机智能卡阅读器中的智能卡进行管理和访问控制。(系统服务)
  snmp.exe 包含代理程序可以监视网络设备的活动并且向网络控制台工作站汇报。(系统服务)
  snmptrap.exe 接收由本地或远程 SNMP 代理程序产生的陷阱消息,然后将消息传递到运行在这台计算机上SNMP管理程序。(系统服务)
  UtilMan.exe 从一个窗口中启动和配置辅助工具。(系统服务)
  msiexec.exe 依据 .MSI 文件中包含的命令来安装、修复以及删除软件。(系统服务)

系统常见文件夹

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
C:
├─WINDOWS
│ ├─system32(存放Windows的系统文件和硬件驱动程序)
│ │ ├─config(用户配置信息和密码信息)
│ │ │ └─systemprofile(系统配置信息,用于恢复系统)
│ │ ├─drivers(用来存放硬件驱动文件,不建议删除)
│ │ ├─spool(用来存放系统打印文件。包括打印的色彩、打印预存等)
│ │ ├─wbem(存放WMI测试程序,用于查看和更改公共信息模型类、实例和方法等。请勿删除)
│ │ ├─IME(用来存放系统输入法文件,类似WINDOWS下的IME文件夹)
│ │ ├─CatRoot(计算机启动测试信息目录,包括了计算机启动时检测的硬软件信息)
│ │ ├─Com(用来存放组件服务文件)
│ │ ├─ReinstallBackups(电脑中硬件的驱动程序备份)
│ │ ├─DllCache(用来存放系统缓存文件。当系统文件被替换时,文件保护机制会复制这个文件夹下的文件去覆盖非系统文件)
│ │ ├─GroupPolicy(组策略文件夹)
│ │
│ ├─system(系统文件夹,用来存放系统虚拟设备文件)
│ ├─$NtUninstall$(每给系统打一个补丁,系统就会自动创建这样的一个目录,可删除)
│ ├─security(系统安全文件夹,用来存放系统重要的数据文件)
│ ├─srchasst(搜索助手文件夹,用来存放系统搜索助手文件,与msagent文件夹类似)
│ ├─repair(系统修复文件夹,用来存放修复系统时所需的配置文件)
│ ├─Downloaded Program Files(下载程序文件夹,用来存放扩展IE功能的ActiveX等插件)
│ ├─inf(用来存放INF文件。INF文件最常见的应用是为硬件设备提供驱动程序服务,不建议删除其中文件)
│ ├─Help(Windows帮助文件)
│ ├─Config(系统配置文件夹,用来存放系统的一些临时配置的文件)
│ ├─msagent(微软助手文件夹,存放动态的卡通形象,协助你更好地使用系统。若觉的没有必要,可直接删除)
│ ├─Cursors(鼠标指针文件夹)
│ ├─Media(声音文件夹,开关机等wav文件存放于此)
│ ├─Mui(多语言包文件夹,用来存放多国语言文件。简体中文系统中这个文件夹默认是空的,但不建议删除此文件夹)
│ ├─java(存放Java运行的组件及其程序文件。不建议删除其中文件)
│ ├─Web
│ │ ├─Wallpaper(存放桌面壁纸的文件夹)
│ │
│ ├─addins(系统附加文件夹,用来存放系统附加功能的文件)
│ ├─Connection Wizard(连接向导文件夹,用来存放“Internet连接向导”的相关文件)
│ ├─Driver Cache(驱动缓存文件夹,用来存放系统已知硬件的驱动文件)
│ │ └─i386(Windows操作系统自带的已知硬件驱动文件,可删除以节省空间)
│ ├─TEMP(系统临时文件夹,其中内容可以全部删除)
│ ├─twain_32(扫描仪相关)
│ ├─AppPatch(应用程序修补备份文件夹,用来存放应用程序的修补文件)
│ ├─Debug(系统调试文件夹,用来存放系统运行过程中调试模块的日志文件)
│ ├─Resources(系统资源文件夹,用来存放系统SHELL资源文件,就是我们在桌面上所看到的主题)
│ │ └─Themes(桌面主题都存放于此,可删除无用主题)
│ ├─WinSxS(存储各个版本的Windows XP组件,减少因为DLL文件而引起的配置问题)
│ ├─ime(输入法信息)
│ ├─PCHealth(用来存放协调、配置和管理计算机正常运行的文件)
│ │ └─HelpCtr(帮助和支持)
│ │ ├─Binaries(我们常用的msconfig就在这里哟)
│ ├─Offline Web Pages(脱机浏览文件存放于此)
│ ├─Prefetch(预读取文件夹,用来存放系统已访问过的文件的预读信息(此信息是系统在访问时自动生成的新信息),以加快文件的访问速度,其扩展名为“PF”。可以将此文件夹中的文件删除)
│ ├─ShellNew
│ ├─Fonts(字体文件夹。要安装某种字体只需将字体文件复制到该目录下即可)
│ ├─pss(用来备份系统启动配置文件的,一般对“Boot.ini”、“System.ini”和“Win.ini”三个文件进行备份,扩展名为“backup”。如果系统原有的这三个文件损坏的话,可以从这里进行恢复。不建议删除)
│ ├─Registration(注册文件夹,用来存放用于系统COM+或者其他组件注册的相关文件。不建议删除这里的文件)
│ └─Downloaded Installations(存放一些使用Windows Installer技术的安装程序,主要用来对程序进行修复等操作)
├─Documents and Settings
│ ├─Default User
│ │ ├─Application Data(通用应用程序数据文件夹。此处存放着已经安装的一些应用程序的专用数据)
│ │ ├─桌面
│ │ ├─Favorites(收藏夹)
│ │ ├─NetHood(网络共享目录)
│ │ ├─My Documents(我的文档)
│ │ ├─PrintHood(打印共享目录)
│ │ ├─Recent(最近打开的文档)
│ │ ├─SendTo(鼠标右键的发送到)
│ │ ├─「开始」菜单
│ │ ├─Templates(模板文件夹,可能有Word、Excel等的模板文件)
│ │ └─Local Settings
│ │ ├─Application Data
│ │ └─Temp(临时文件目录。在系统和软件的运行过程中产生的临时文件就存放在于此。需定期清理)
│ │ └─Temporary Internet Files(Internet临时文件夹。需定期清理)
│ ├─All Users(所有用户文件夹,这里的更改对所有用户有效)
│ └─Administrator(系统管理员帐户的文件夹)
├─Program Files
│ ├─Common Files(共享的应用程序文件存放于此)
│ ├─Internet Explorer(IE浏览器)
│ ├─ComPlus Applications(COM+ 组件的配置和跟踪,一般为空)
│ ├─Windows Media Player(WINDOWS媒体播放器)
│ ├─WindowsUpdate(用于Windows的升级,可删除)
│ ├─InstallShield Installation Information
│ ├─Uninstall Information(存放软件反安装信息,删除后可能导致部分软件无法卸载)
├─wmpub(windows media service的目录)
├─boot(一键还原等软件的文件夹)
├─Inetpub(IIS文件夹)
├─Downloads(Flashget默认下载文件夹)
├─System Volume Information(系统还原文件夹)
└─TDdownload(迅雷默认下载文件夹)

变量路径与通配符

通配符 变量路径 说明
%AllUsersProfile% C:\ProgramData 系统软件的配置文件总目录(默认隐藏)
%USERPROFILE% C:\Users\用户名\ 指向当前帐户的用户目录
%HOMEPATH% C:\Users\用户名\ 指向当前帐户的用户目录
%systemdrive% C:\ Windows系统所安装到的盘符根目录,通常就是C盘的根目录
%HOMEDRIVE% C:\ Windows系统所安装到的盘符根目录,通常就是C盘的根目录
%windir% C:\Windows Windows所在目录
%SystemRoot% C:\Windows Windows所在目录
%Temp% C:\Users\用户名\AppData\Local\Temp 这个是用户的临时文件夹所在目录
%TMP% C:\Users\用户名\AppData\Local\Temp 这个是用户的临时文件夹所在目录
%ProgramFiles% C:\Program Files Program Files程序安装目录
%commonprogramfiles% C:\Program Files\Common Files 指向公用文件(Common Files)目录
%APPDATA% C:\Users\用户名\AppData\Roaming Application Data目录
%ComSpec% C:\WINDOWS\system32\cmd.exe 指向命令提示符会直接打开cmd
%LOGONSERVER% 当前登录的SERVER,域环境则回显域控

附录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
【Windows 系统环境变量】 
%ALLUSERSPROFILE% : 列出所有用户Profile文件位置。
%APPDATA% : 列出应用程序数据的默认存放位置。
%CD% : 列出当前目录。
%CLIENTNAME% : 列出联接到终端服务会话时客户端的NETBIOS名。
%CMDCMDLINE% : 列出启动当前cmd.exe所使用的命令行。
%CMDEXTVERSION% : 命令出当前命令处理程序扩展版本号。
%CommonProgramFiles% : 列出了常用文件的文件夹路径。
%COMPUTERNAME% : 列出了计算机名。
%COMSPEC% : 列出了可执行命令外壳(命令处理程序)的路径。
%DATE% : 列出当前日期。
%ERRORLEVEL% : 列出了最近使用的命令的错误代码。
%HOMEDRIVE% : 列出与用户主目录所在的驱动器盘符。
%HOMEPATH% : 列出用户主目录的完整路径。
%HOMESHARE% : 列出用户共享主目录的网络路径。
%LOGONSEVER% : 列出有效的当前登录会话的域名控制器名。
%NUMBER_OF_PROCESSORS% : 列出了计算机安装的处理器数。
%OS% : 列出操作系统的名字。(Windows XP 和 Windows 2000 列为 Windows_NT.)
%Path% : 列出了可执行文件的搜索路径。
%PATHEXT% : 列出操作系统认为可被执行的文件扩展名。
%PROCESSOR_ARCHITECTURE% : 列出了处理器的芯片架构。
%PROCESSOR_IDENTFIER% : 列出了处理器的描述。
%PROCESSOR_LEVEL% : 列出了计算机的处理器的型号。
%PROCESSOR_REVISION% : 列出了处理器的修订号。
%ProgramFiles% : 列出了Program Files文件夹的路径。
%PROMPT% : 列出了当前命令解释器的命令提示设置。
%RANDOM% : 列出界于0 和 32767之间的随机十进制数。
%SESSIONNAME% : 列出连接到终端服务会话时的连接和会话名。
%SYSTEMDRIVE% : 列出了Windows启动目录所在驱动器。
%SYSTEMROOT% : 列出了Windows启动目录的位置。
%TEMP% and %TMP% : 列出了当前登录的用户可用应用程序的默认临时目录。
%TIME% : 列出当前时间。
%USERDOMAIN% : 列出了包含用户帐号的域的名字。
%USERNAME% : 列出当前登录的用户的名字。
%USERPROFILE% : 列出当前用户Profile文件位置。
%WINDIR% : 列出操作系统目录的位置

powershell调用规则:$env:相关的名字(eg:$env:HOMEPATH)

查询所有的环境变量:Get-ChildItem env:

附录2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
补充说明:常用通配符有?和*
? 代表0-9中的一个数字或26个字母中的一个字母
* 代表任意字符(包括零字符)

作为文件:
*.* 代表计算机上任意位置带后缀名的文件
* 代表计算机上的全部文件(有后缀名、无后缀名)和文件夹

作为程序:
*.EXE 代表计算机上所有的exe文件
*.DLL 代表计算机上所有的dll文件
*.* 代表计算机上任意位置带后缀名的可执行文件
* 代表计算机上所有的可执行文件(有后缀名和无后缀名)

例如?:\*.exe 代表任意磁盘根目录起直到任意一层子目录的exe文件
%windir%\* 代表windows目录及子目录下的所有文件
衍生有: ?:\*\*\*.exe 根目录起下一层目录下的exe文件,即第二层目录下的文件夹里的exe文件(明确说是第三层目录)
对于不支持“仅是该目录”的HIPS,可以通过衍生组合来达到相应效果,
例如,不允许运行根目录下的程序
规则1、允许运行?:\*\*.EXE
规则2、禁止运行?:\*
通过以上两个规则的组合,即能达到阻止根目录下的程序运行而不影响非根目录程序运行的效果。