首页 > 系统相关 >Windows基础(三):注册表与自启动

Windows基础(三):注册表与自启动

时间:2024-10-23 14:35:12浏览次数:1  
标签:Windows HKEY CurrentVersion 注册表 自启动 LOCAL Microsoft

 

https://bu1.github.io/2021/10/30/Windows%E5%9F%BA%E7%A1%80(%E4%B8%89)%EF%BC%9A%E6%B3%A8%E5%86%8C%E8%A1%A8%E4%B8%8E%E8%87%AA%E5%90%AF%E5%8A%A8/

 

本文简要介绍了Windows的注册表以及自启动管理。

注册表

注册表是控制计算机硬件和软件的一整套数据。如果对注册表熟练了解,完全可以通过注册表来控制计算机。对于普通用户来说,很难完全了解和彻底掌握注册表,我们只需对重要的注册表键进行控制即可:如自启动,系统设置,IE键,winlogon,文件关联,网络设置,高危键(映像劫持,安全模式,禁用注册表及硬盘等)。这些比较重要的键值经常被病毒进行利用。

Windows注册表是帮助Windows控制硬件、软件、用户环境和 Windows界面的一套数据文件,注册表包含在Windows目录下两个文件system.dat和user.dat里,还有它们的备份 system.da0和user.da0。通过Windows目录下的regedit.exe程序可以存取注册表数据库。在以前,在windows的更早版本(在Win95以前),这些功能是靠win.ini,system.ini和其他和应用程序有关联的.ini文件来实现的.

WINDOWS的注册表有五大根键,相当于一个硬盘被分成了五个分区。

根键名简要说明
HKEY_CLASSES_ROOT 该主根键是从HKEY_LOCAL_MACHINE\software\classes映射复制的。它包含启动应用程序所需的全部信息,包括扩展名,应用程序与文档之间的关系,驱动程序名,DDEOLE信息,类ID编号和应用程序与文档的图标等。
HKEY_CURRENT_USER 该主根键包含本地工作站中存放的当前登录的用户信息:包括用户登录用户名和暂存的密码以及环境变量,桌面设置等配置信息。用户登录操作系统时,其信息从HKEY_USERS中相应的项拷贝到HKEY_CURRENT_USER中。
HKEY_LOCAL_MACHINE 该主根键存放本地计算机硬件数据与软件数据,此根键下的子关键字包括在SYSTEM.DAT中,用来提供HKEY_LOCAL_MACHINE所需的信息。该根键中的许多子键与System.ini文件中设置项类似。
HKEY_USERS 该主根键保存了存放在本地计算机口令列表中的所有用户标识和密码列表。每个用户的预配置信息都存储在HKEY_USERS根键中。HKEY_USERS是远程计算机中访问的根键之一。
HKEY_CURRENT_CONFIG 该主根键存放着定义当前用户桌面配置(如显示器等)的数据,最后使用的文档列表(MRU)和其他有关当前用户的操作系统中文版的安装的信息。

注册表数据的主要五种类型是

名称类型说明
REG_SZ 字符串类型,文本字符串
REG_BINARY 二进制类型,不定长度的二进制值,以16进制形式显示
REG_DWORD 双字,32 位的二进制值,显示为 8 位的十六进制值
REG_MULTI_SZ 多字符串,有多个文本值的字符串,字符串间用 nul 分隔、结尾两个 nul
REG_EXPAND_SZ 可扩展字符串,包含环境变量的字符串

主要的时间格式:

  • FILETIME:64位值,代表间隔多少个单位为100纳秒的时间(从UTC1601年1月1日开始)
  • Unix Time:32位值,代表间隔多少秒(从UTC1970年1月1日开始)。
  • DOS Date/Time:两个16位值,详细记录了当地时间和年月日。

注册表的存储:

注册表在Windows NT操作系统中被分为多个文件存储,这些文件被称为Registry Hives,每一个文件被称为一个配置单元。定位到C:\Windows\System32\config可以看到这些文件。

image-20211022104321690

主要的配置单元有:

  • SYSTEM:对应的注册表分支为HKEY_LOCAL_MACHINE\SYSTEM,对应的存储文件是\Windows\System32\config\SYSTEM,其作用是存储计算机硬件和系统的信息。
  • NTUSER.DAT:对应的注册表分支是HKEY_CURRENT_USER,存储在用户目录下,与其他注册表文件是分开的,主要用于存储用户的配置信息。
  • SAM:分支是HKEY_LOCAL_MACHINE\SAM,存储在C:\Windows\System32\config\SAM文件中,保存了用户的密码信息。
  • SECURITY:对应的分支HKEY_LOCAL_MACHINE\SECURITY,存储在C:\Windows\System32\config\SECURITY文件中,保存了安全性设置信息。
  • SOFTWARE:分支是HKEY_LOCAL_MACHINE\SOFTWARE,文件存储在C:\Windows\System32\config\SOFTWARE中,保存安装软件的信息。

为了防止注册表出错和损坏,Registry hives还包括注册的事务日志文件和注册表的备份文件。事务日志文件名与注册表文件一致,且在同一个路径中,只是后缀不同。事务日志文件以.LOG为后缀,多个日志后缀会显示LOG1LOG2这样。(如果要查看这些日志文件,需要打开文件夹选项,取消勾选“隐藏受保护的操作系统文件”)

自启动

  1. 用户自启动路径

    1
    %HOMEPATH%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
  2. 系统自启动路径

    1
    %programdata%\Microsoft\Windows\Start Menu\Programs\Startup #也可%AllUsersProfile%
  3. 系统配置文件WIN.INI启动(实际测试无效

    1
    2
    3
    [windows] 
    load=xxx.exe[这种方法文件会在后台运行]
    run=xxx.exe[这种方法文件会在默认状态下被运行]
  4. 系统配置文件SYSTEM.INI启动(实际测试无效

    1
    2
    [boot] 
    Shell=Explorer.exe xxx.exe
  5. 注册表启动

    自启动文件对应的注册表路径

    1
    2
    3
    4
    5
    6
    %HOMEPATH%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    对应的注册表位置:
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders]
    Startup=\”%Directory%\”
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User ShellFolders] Startup=\”%Directory%\”
    其中“%Directory%”为启动文件夹位置。

    RunServicesOnce注册键

    1
    2
    3
    4
    5
    RunServicesOnce注册键用来启动服务程序,启动时间在用户登录之前,而且先于其他通过注册键启动的程序。

    RunServicesOnce注册键的位置是:(实测不一定都有)
    HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\RunServicesOnce,
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce。

    RunServices注册键

    1
    2
    3
    4
    5
    RunServices注册键指定的程序紧接RunServicesOnce指定的程序之后运行,但两者都在用户登录之前。

    RunServices的位置是:(实测不一定都有)
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\RunServices

    RunOnce注册键

    1
    2
    3
    4
    5
    6
    7
    安装程序通常用RunOnce键自动运行程序。

    它的位置在:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce。

    ps:HKEY_LOCAL_MACHINE下面的RunOnce键会在用户登录之后立即运行程序,运行时机在其他Run键指定的程序之前。HKEY_CURRENT_USER下面的RunOnce键在操作系统处理其他Run键以及“启动”文件夹的内容之后运行。

    Run键

    1
    2
    3
    4
    5
    6
    7
    Run是自动运行程序最常用的注册键。

    它的位置在:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run。

    ps:HKEY_CURRENT_USER下面的Run键紧接HKEY_LOCAL_MACHINE下面的Run键运行,但两者都在处理“启动”文件夹之前。

    其他键(未测试,仅供参考

    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
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\ 
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\
    HKEY_LOCAL_MACHINE\System\ControlSet001\Session Manager\BootExecute
    HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\BootExecute
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\本地
    User\Software\Microsoft\Windows\CurrentVersion\Policies\ Explorer\Run
    HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\
    HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices\
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup\
    HKEY_USERS\.Default\Software\Microsoft\Windows\CurrentVersion\Run\
    HKEY_USERS\.Default\Software\Microsoft\Windows\CurrentVersion\RunOnce\
    HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\
    HKEY_CURRENT_USER\Control Panel\Desktop
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\run
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\
    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\load
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\run\
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\run\
    HKLM\SOFTWARE\Classes\Protocols\Filter
    HKLM\SOFTWARE\Classes\Protocols\Handler
    HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components
    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler
    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad
    HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks
    HKLM\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved
    HKLM\Software\Classes\Folder\Shellex\ColumnHandlers
    HKCU\Software\Microsoft\Internet Explorer\UrlSearchHooks
    HKLM\Software\Microsoft\Internet Explorer\Toolbar
    HKLM\Software\Microsoft\Internet Explorer\Extensions
    HKLM\System\CurrentControlSet\Control\Session Manager\BootExecute
    HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
    HKLM\System\CurrentControlSet\Control\Session Manager\KnownDlls
    HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\UIHost
    HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
    HKCU\Control Panel\Desktop\Scrnsave.exe
    HKLM\System\CurrentControlSet\Services\WinSock\Parameters\Protocol_Catalog9
    HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors
    HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Authentication Packages
    HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Notification Packages
    HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages
  6. Autorun.inf的使用(微软已废除,仅做了解

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Autorun.inf的内容通常是: 
    [AUTORUN]
    OPEN=文件名.exe
    ICON=icon(图标文件).ico
    1.如一个木马,为xxx.exe.那么Autorun.inf则可以如下:
    OPEN=Windows\xxx.exe
    ICON=xxx.exe
    这时,每次双击C盘的时候就可以运行木马xxx.exe.
    2.如把 Autorun.inf放入C盘根目录里,则里面内容为:
    OPEN=D:\xxx.exe
    ICON=xxx.exe
    这时, 双击C盘则可以运行
    D盘的xxx.exe
  7. 通过注册服务来自启动

    1
    2
    3
    4
    5
    sc create 名字 binpath=需要执行的文件 type=own start=auto displayname=名字

    sc start 名字
    sc stop 名字
    sc delete 名字

    如果你的exe不符合服务的规范,启动有可能会失败。可以采用instsrv+srvany这两个工具配合使用,可以将任何的exe应用程序作为window服务运行。

     

标签:Windows,HKEY,CurrentVersion,注册表,自启动,LOCAL,Microsoft
From: https://www.cnblogs.com/rebrobot/p/18496309

相关文章

  • Windows基础(一):常识、术语、文件夹
      本文简要介绍了Windows的基本常识、基本概念以及重要的文件及目录。基本常识在windows操作系统家族中,system.ini和win.ini这两个文件包含了操作系统所有的控制功能和应用程序的信息,system.ini管理计算机硬件而win.ini管理桌面和应用程序。后来,注册表取代了这两个文件的......
  • Windows基础(二):进程、目录、通配符
     https://bu1.github.io/2021/10/30/Windows%E5%9F%BA%E7%A1%80(%E4%BA%8C)%EF%BC%9A%E8%BF%9B%E7%A8%8B%E3%80%81%E7%9B%AE%E5%BD%95%E3%80%81%E9%80%9A%E9%85%8D%E7%AC%A6/ 本文简要介绍了Windows的常见进程、目录树以及常用通配符介绍。系统常见进程进程名程序路径......
  • Chromium127编译指南 Windows篇 - 使用 GN 工具生成构建文件(六)
    前言在上一篇文章中,我们已经成功获取了Chromium的源代码并同步了相关的第三方依赖。本文将继续深入,指导您如何使用GN工具生成构建文件,为接下来的编译工作奠定基础。切换Chromium版本至127在开始正式构建之前,我们需要将版本切换至127,这里我们使用git的切出功能创建新分支......
  • 注册表项也可以用于进程启动时自动加载DLL.自动加载DLL的选项。
    AppInit_DLLs用于在每个用户界面线程启动时加载指定的DLL。以下是一些常见的用途和注意事项:DLL路径:可以指定一个或多个DLL的完整路径。多DLL加载:可以通过逗号分隔加载多个DLL。影响性能:加载的DLL可能影响应用程序的启动速度和系统性能。安全风险:不安全或恶......
  • 新升级Windows11 24H2后,前置的窗口边缘不停闪烁解决办法
    最近升级了Windows1124H2,有个小bug非常烦人,就是app的窗口前置时,边缘不停闪烁,时有时无,时快时慢,狗眼都闪瞎了,非常烦人。先是找了显卡驱动问题,发现并不是。据观察,如果有两个或者多个窗口堆叠时,则窗口围成的外轮廓不停的闪烁。于是尝试去Windows自带的“视觉效果”里找,顺利解决,以下......
  • 如何恢复 Windows 上 PostgreSQL 14 中被误删的 pg_restore.exe
    如何恢复Windows上PostgreSQL14中被误删的pg_restore.exe方法1:重新安装PostgreSQL14下载PostgreSQL14安装包:前往PostgreSQL官方网站。下载与操作系统版本匹配的PostgreSQL14安装包。安装PostgreSQL:运行安装程序,进行标准安装。安装过程中,选择“Cli......
  • Windows下给Visual Studio添加OpenSSL
    一、安装OpenSSL1.下载OpenSSLWin32/Win64OpenSSLInstallerforWindows-ShiningLightProductions可以下载已经编译好的包含lib和include文件的安装包有Win32和Win64可选,这里的位数指的是你使用OpenSSL开发出来的软件的位数版本,而不是你计算机的位数。注意,不要下载......
  • 如何在 Mac 和 Windows 上恢复未保存或删除的 PDF
    文章提供了在Mac和Windows上恢复已删除或未保存PDF文件的方法。用户可以检查垃圾箱/回收站,利用AdobeAcrobat的自动保存功能,或者使用数据恢复软件如奇客数据恢复。在Mac上,TimeMachine备份可以用来恢复文件;在Windows上,文件历史记录提供类似功能。摘要由CSDN通过智能技术生成Ado......
  • windows下python虚拟环境强制重新安装pip并安装paramiko
    环境:OS:Windows11python:3.6.81.切换到虚拟环境目录:cdC:\Users\huangxueliang\PycharmProjects\cmdbtest\venv 2.执行如下命令Scripts\activate 3.强制重新安装python-mpipinstall-U--force-reinstallpip 4.查看版本(venv)C:\Users\huangxueliang\PycharmPro......
  • 玄机蓝队靶场_应急响应_61:windows实战-emlog
    win+rmstsc连接不能联网,不然直接河马查杀一下把www文件夹压缩下载下来用河马在线网站也是直接得到冰蝎木马文件:/WWW/content/plugins/tips/shell.php在www文件夹直接搜索shell文件(盲猜)找到连接密码flag{rebeyond}直接找apache目录看日志phpstudy_pro/Extensions/Apache......