管理Windows启动项的必备工具:Autoruns下载使用教程
脚本之家
在某些情况下,启动程序和驱动程序可能会相互干扰,导致系统变得不稳定,甚至完全崩溃。Autoruns 这款专业的 Sysinternals 实用工具,可以让您轻松查看和管理 Windows 系统的启动项。
在 Windows 操作系统中,有多达 200 多个不同的自动启动扩展点,也称为 ASEP(Autostart Extensibility Points)。这些 ASEP 包括各种注册表键、计划任务、服务、资源管理器扩展以及 Edge 插件等。
通常来说,Windows 启动项需要合法且有实用价值。然而,许多免费或试用版软件也会被电脑制造商预装在新电脑上。此外,恶意软件也常常利用 Windows 自动启动功能,在用户不知情的情况下,偷偷启动运行。
为什么使用 Autoruns
Windows 老鸟都知道,Windows 中的msconfig和「任务管理器」都可以管理 Windows 启动项。但为什么还要推荐 Autoruns 工具呢?接下来,我们将一一介绍它强大的便捷管理功能。
Windows 最开始在「开始」菜单中提供了一个「启动文件夹」,供软件在开机时的登录过程中加载。后来,又为注册表添加了 RUN 键值,让应用程序能够注册开机和用户登录时的启动项。Microsoft 从一开始就考虑到用户的便利性,才提供应用软件跟随系统启动的功能。然而,越来越多的 ISV(软件开发商)滥用这个功能,导致在登录时加载了过多的应用程序,严重影响用户的使用体验。
有鉴于此,越来越多的用户开始想办法禁用不需要的应用程序随 Windows 自动启动。然而,道高一尺,魔高一丈。很多记录不太良好的应用程序开发商打起了浏览器 helper objects、驱动程序和任务计划的主意。更有甚者,还通过 Image Hijacks 和 DLL 注入的方式来强制加载自身。
通过 Autoruns 的强大功能,我们可以快速找出不友好的 Windows 启动项。但是,让普通用户手动检查系统的各个方面以清理启动项,几乎是不可能完成的任务。因此,下面有请主角 Autoruns 出场。
Autoruns 基本用法
Autoruns 是一个基于标签/选项卡的工具,针对不同的 ASEP(Autostart Extensibility Points)类型,例如「登录」、「任务计划」「Office」「WMI 」及「服务」等,都有单独的标签选项卡可供使用。通过不同的选项卡,可以有目的性地快速筛选 Windows 启动项条目。
每次打开 Autoruns 时,默认会指向「Everything」选项卡,该选项卡汇总了当前所有 Windows 启动项条目的摘要。
Autoruns 快速筛选
在启用用户帐户 控制(UAC) 的 Windows 中运行 Autoruns 时,它会在标准用户帐户下启动。虽然也可以使用 Autoruns 管理普通账户,但这样做会阻止您查看某些 ASEP 条目,并且无法禁用或删除某些条目。因此,建议以管理员身份启动 Autoruns。
如果要通过名称查找特定启动项,可以使用「Quick filter」快速筛选器。这是一个非常实用的全文查找和筛选功能,只需输入一些字符,就能将包含特定字段的条目显示出来。
建议在「Everything」选项卡上使用「Quick filter」,这样就可以搜索所有 ASEP 类型。
隐藏条目
默认情况下,Autoruns 会自动隐藏掉 Windows 自身的启动项,同时也可以通过选项将 Microsoft 软件的启动项隐藏掉。通常情况下,我们认为 Microsoft 软件和 Windows 自身的启动项是必要且安全的。
在 Autoruns 中隐藏 Microsoft 和/或 Windows 条目
- Hide Microsoft Entries:隐藏 Microsoft 软件启动项
- Hide Windows Entries:隐藏 Windows 启动项
颜色标识
Sysinternals 工具非常人性化,其中一个功能是以各种颜色区分条目。当然,Autoruns 工具也不例外。以下是颜色高亮的说明:
- 黄色 – 表示找不到文件的条目,其目标文件未在预期位置中找到。
- 粉色 – 表示可疑条目,没有发布者或描述,或具有无效的签名。
- 紫色 – 表示条目的位置或路径。
- 绿色 – 表示在上次 Autoruns 扫描之后添加的条目。
Autoruns 高亮颜色标识
快捷功能右键
Autoruns 另一个有用的功能是右键上下文菜单,它允许执行多个操作,例如删除条目等:
Autoruns 快捷功能右键
- Jump To Entry 打开配置自启动项的位置,可能是注册表项、资源管理器窗口或任务计划。
- Jump To Image 打开一个新的 Windows 资源管理器窗口,并选中目标文件。
- Process Explorer 与 Process Explorer 协同工作。如果条目路径是一个可执行文件,并且该进程正在运行,则 Autoruns 尝试获取 Process Explorer(Procexp) 来显示该进程的属性。
- Search Online 使用默认浏览器和搜索引擎发起在线搜索。
- Properties 使用 Windows 资源管理器显示目标文件的属性。
使用 Autoruns 进行安全识别
Autoruns 内置了 Windows 启动项安全识别功能,我们可以在「Optione」— 「Scan Options」选择是否启用:
- Verify code signatures:验证代码签名
- Check VirusTotal.com:VirusTotal 分析
开启 Autoruns 安全识别功能
验证代码签名
- 如果文件已使用有效的代码签名证书进行签名,并且该证书由 Windows 信任的根证书颁发机构派生,则「Publisher」列中会显示「Verified」,后跟代码签名证书中的主题名称。
- 如果文件未进行签名或因任何其他原因验证失败,则「Publisher」列中显示「Not verified」,后跟文件版本资源中的公司名称(如果存在)。
验证代码签名
扫描可能需要一些时间,因为要验证每个签名证书是否已被颁发者吊销,并且需要 Internet 连接。
签名检查失败的文件可能被视为可疑,条目会被标记为粉色。
VirusTotal 分析
- Autoruns 可以扫描所有条目并使用 VirusTotal 进行分析。VirusTotal 是一个免费的网络服务,它使用 50 多个杀毒引擎来分析文件。
- 「VirusTotal」列包含超链接。如果任何引擎将文件标记为可疑,则链接会变成红色。
- 您还可以右键单击条目并从上下文菜单中选择「Submit File to VirusTotal」,将可疑文件上传到 VirusTotal 进行进一步分析。
使用 VirusTotal 在线分析
使用 Autoruns 管理 Windows 启动项
Autoruns 的核心功能之一就是管理 Windows 启动项。您可以禁用或完全删除条目,删除条目会永久地将其移除,这是不可逆转的操作——没有回滚或撤销按钮。因此,在删除一个启动条目时,需要再次确认。
确认删除条目
仅在明确自己在做什么时再删除条目。删除或禁用操作系统所必需的条目时,可能会导致系统不稳定或崩溃。
禁用条目的操作方式略有不同,可以通过取消勾选复选框来禁用一个条目。
在 Autoruns 中禁用启动项
Autoruns 会记录一个标记,因此才能够识别已禁用的条目,并在需要时重新启用该条目。对于大多数注册表条目,Autoruns 会创建一个AutorunsDisabled值来存储原始值,当再次启用该条目时,就会将信息放回到原始的注册表值中。
在下面的截图中,您可以看到 VMware Tools 被禁用的示例,在这里 Autoruns 将Start值更改为4(已禁用),并将原始值2存储在其自己的AutorunsDisabled值中。
通过注册表标记实现禁用启动项
了解 Autoruns 常用选项卡
首先让我们明确一点——使用 Autoruns 并不需要了解每个选项卡作用。前面我们已经提到过,默认情况下,该工具在「Everything」选项卡中打开,其中包括从不同选项卡汇总的所有启动项。您可以轻松地在此列表中管理任何启动项。
但是,如果您只想关注特定类别启动项,就需要更多地了解选项卡:
- Logon 是 Autoruns 中最重要的选项卡,几乎所有第三方应用程序都在此选项卡中显示。「Logon」选项卡从 Windows 的各个位置获取信息,从「开始」菜单到「注册表键」,提供了最全面的启动项记录。
Logon 选项卡
- Explorer 正如其名称所示,此选项卡仅记录与 Windows 文件资源管理器相关的扩展/插件。它们对 Windows 启动影响通常很小,但您仍然可以查看或删除任何无用的条目。
Explorer 选项卡
- Scheduled Tasks 也是需要重点关注和分析的选项卡。计划任务包括预设进程,会按照触发条件在特定时间激活,也是隐藏恶意软件用到的流行方法。
Scheduled Tasks 选项卡
- Services 是一个有些棘手的选项卡。它包括运行重要应用程序所必需的经过验证的服务,以及只会拖慢计算机速度的垃圾进程。请浏览此列表中所有未经验证的条目,并删除您不需要的服务。
Services 选项卡
- Drivers 大多数情况下用不到这个选项卡。伪装成驱动程序的病毒相对少见,应由您的防病毒软件来处理。
Drivers 选项卡
- Codecs 是另一个难以判断的选项卡。此列表中的条目通常对应于媒体播放所必需的音频和视频编解码器。删除正常的编解码器可能会导致媒体播放问题,因此建议不要轻易更改此选项卡。
- Boot Execute 这个选项卡可以安全地忽略。它包括系统在引导过程中运行的进程,例如硬盘扫描等。您可能会发现此选项卡为空,因为即使病毒也难以在操作系统加载之前做太多事情。
一些比较棘手的 bootkit 除外,例如 BlackLotus。
- Image Hijacks 这个名字看起来就有点邪恶,但的确名副其实。Image Hijacks 是一个注册表键,允许一个进程「劫持」另一个可执行文件,代替其运行。除调试工具外,可以删除其它条目。
Image Hijacks 选项卡
- AppInit 最初是可以一次性加载多个系统 DLL 的便捷方式。然而,随着时间的推移,它成为恶意软件的主要目标,因为它们可以在每个运行时加载 User32.dll 的应用程序中注入自己的进程。虽然较新版本的 Windows 在某种程度上削弱了 AppInit 的脆弱性,但它仍然是一个容易被误用的功能。除非您有意使用此注册表键,否则最好删除此选项卡中的所有条目。
上面提到的都是比较最常用的选项卡。还有其他选项卡,如:Known DLLs、WinLogon、Winsock Providers、Print Monitors、LSA Providers、Network Providers、WMI 和 Office 等。
大多数情况下,这些选项卡很少使用,并且可能没有任何条目(空白)。这些选项卡中的任何程序都可能是附加组件或低级别进程。
使用 Autoruns 离线分析
Autoruns 另一个很酷的功能是可以查看离线 Windows 实例的 ASEP。在 Windows 无法启动或已经被恶意软件感染的情况下,这个功能非常有用:
- 如果 Windows 无法启动,离线分析可以识别和删除有问题或配置不正确的 ASEP。
- 恶意软件,特别是 rootkit,可能会阻止 Autoruns 准确识别 ASEP。通过将 Windows 脱机并从正常 Windows 实例中查看其 ASEP,这些条目将不会被隐藏。
- 系统上的恶意文件可能看起来由可信的发布者签名,而根证书实际上也可能来自攻击者。已知的正常系统未安装虚假证书,因此会对这些文件的签名验证失败。
要执行离线分析,Autoruns 必须以管理员权限运行,并且必须访问离线实例的文件系统。
从「File」菜单中选择「Analyze Offline System…」识别目标的 Windows「System Root」系统根目录和「User profile」用户的配置文件目录。Autoruns 会扫描该实例的目录和注册表文件以获取 ASEP。
使用 Autoruns 进行离线实例分析
离线 Windows 实例的注册表文件不能在只读介质上。
保存和对比启动项
Autoruns 允许您以制表符分隔文本和二进制(ARN)格式导出结果:
- 制表符分隔文本 是一种可读性强的文件,并且可以导入 Excel 表格。
- 二进制(ARN)格式 允许比较由不同 Windows 系统导出的结果。
要导出 Autoruns 条目记录,请从「File」菜单中选择「Save…」或者直接使用Ctrl + S快捷键导出——在「保存类型」下拉列表中选择一种需要的格式。
导出 Autoruns 条目
要比较相同或不同系统中的结果,请从「File」菜单中选择「Compare…」
对 Autoruns 导出的结果进行对比
Autoruns 仅显示差异项。绿色条目仅存在于原始结果集中,而粉色条目仅存在于比较结果集中。
SysInternals 出品,必属精品。Autoruns 提供了一个易于使用的界面,以简化 Windows 启动项管理。
本文已经差不多介绍了 Autoruns 的常用功能。实际上这些功能只是帮助大家入门的开胃菜,相信大家熟练掌握后会有更多高级的玩法。