重温-Window(NT)启动过程

红警1懒人包技术解析:兼容层原理与安全运行指南 软件兼容性是计算机系统演进中的经典问题,尤其在操作系统和硬件架构发生代际更迭时尤为突出。其核心原理在于,老版本软件依赖的API接口、硬件访问方式和运行时环境,在新系统中可能已被移除或重构。从技术价值看,解决兼容性问题不仅能让经典软件焕发新生,更是对计算机发展历史的活态保存。在应用场景上,游戏、专业工具、企业遗留系统等都面临类似挑战。本文以《红色警戒1》为例,深入剖析了通过DDraw包装器、高分辨率补丁等**兼容层技术**构建的“懒人包”如何实现**解压即玩**,将复杂的底层适配封装成用户友好的解决方案,并提 阅读详情

一.Windows系统构架

1.先加载内核模式的各种管理服务和子系统,然后再加载用户模式的各种服务。

2.用户模式的程序、服务通过NTDLL.DLL调用内核模式的各种系统功能

3.硬件抽象层(HAL.DLL)提供了Windows系统对底层硬件统一、透明的访问

 

 

 

二。重要术语和注意事项
1.系统卷(System Volume):
包含了如下重要文件的磁盘分区:
  • Master Boot Record(MBR)
  • Boot sector
  • NTLDR
  • Boot.ini
  • SCSI driver-Ntbootdd.sys
 
2.启动卷(Boot Volume)
包含系统文件的分区(%systemRoot%),包含Ntoskrnl.exe,Hal.dll等重要文件
 
三。Windows启动过程
 
1.开机,系统加电
2.BIOS自检
表象:显示器上依次显示显卡信息(如果为非内置),主板Logo,主机详细硬件配置信息(IDE设备、中断资源分配信息等)
3.BIOS读取MBR(固定地址)
 MBR中包含分区表
4.在MBR中寻找第一个被标识为活动的分区(系统卷)
 
注:BISO中的引导信息和MBR中的内容都是在安装操作系统时进行的。
 
5.MBR通过磁盘读取方式加载NTLDR(NT Loder)
6.BIOS将控制权交给NTLDR
表象:显示器显示黑屏
7.NTLDR进行了如下操作:
  • 将系统从16位模式切换到32位模式
  • 开启(内存)分页管理
  • 如果启动卷为SCSI磁盘,从系统卷上读取Ntbootdd.sys对SCSI磁盘进行I/O操作、检测
  • 查找启动卷中是否包含有效的Hiberfil.sys文件,如果有效,跳过如下步骤,直接读取Hiberfil.sys中的信息到内存中,是系统恢复到休眠前的状态
表象:显示器显示系统(从休眠状态)重新启动状态条
 
  • 读取并且分析boot.ini文件,如果boot.ini中存在多个条目(并且在windwos中设置了开机显示启动列表),则显示启动列表。表象:显示器上显示多启动选择列表
 
8.如果选择了启动DOS:加载BOOTSECT.DOS文件供DOS引导
   如果选择启动64为操作系统,NTLDR将CUP周期切换到64位
 
9.如果用户在此时按了F8键,将出现高级启动选项列表。
表象:显示器上显示高级启动选项列表(安全模式、命令行模式、最后一次正确配置等等)
10.NTLDR调用Ntdetect.com进行硬件和BIOS信息的检测(将结果保存到HKLM/Hardware/Description)
11.NTLDR加载注册表System hive文件,根据HKML/System指定的驱动程序(*.sys)拷贝到内存中
12.NTLDR加载Ntoskrnl.exe文件
13.NTLDR加载Hal.dll文件
14.NTLDR将其从boot.ini中读取的各种参数(包含用户按F8后进行的选择),传递给Ntoskrnl.exe,将控制权转给Ntoskrnl.exe的入口函数
 
表象:显示器上显示Windows启动Logo及加载滚动条
15.Ntoskrnl.exe通过两个阶段完成内核子系统的初始化
第一阶段完成对象定义(process,thread,driver等)和核心数据初始化
第二阶段完成对象初始化和子系统的启动
16.Ntoskrnl.exe调用I/O Manager按顺序加载"boot-start"驱动程序和"system-start"驱动程序
17.Ntskrnl.exe创建会话管理器(Session Manager)
(/Windows/System32/Smss.exe)(这是windows创建的第一个进程,处于用户态)
 
P.S.驱动程序的加载顺序
1.所有驱动程序的信息都被保存到了注册表(HKLM/System/CurrentControlSet/Services)中
2.加载类型(Type键值标识)有:1 for driver, 2 for file system driver, others are Win32 services
3.启动方式(Start键值标识)有:0=boot, 1=system, 2=auto, 3=manual, 4=disabled
注:可以使用driverquery命令查看驱动的加载信息
 
 
18.Smss.exe进行如下操作:
  •  运行BootExecute中指定的程序,如autuchk,chkdsk等
  • 处理"Delaved move/rename"命令(安装补丁重启后根据记录移动或重命名相应的文件)
  • 初始化分页文件和其余注册表项
  • 加载并且初始化内核模式中的Win32子系统(Win32k.sys)
  • 启动Csrss.exe(Win32子系统在用户模式下的部分)
  • 启动Winlogon.exe(准备登录)
 
表象:显示器上显示登录窗口
19.Winlogon.exe进行如下操作:
  • 启动LSASS(安全管理)
  • 启动GINA并等待用户登录(登录框):默认的GINA是Msgina.dll,可自行开发GINA来实现基于生物信息的用户登录(指纹识别等)
  • 启动Services.exe(后台服务管理器)
20.Services.exe启动所有标识为自动启动的Win32服务程序
 
启动完成!
Python爬虫实战:构建4399小游戏本地存档库的技术解析 网络爬虫作为自动化数据采集的核心技术,其原理在于模拟浏览器行为向目标服务器发送请求并解析响应内容,从而高效获取结构化信息。这项技术在数据归档、市场分析、内容聚合等领域具有重要价值,尤其适用于对特定领域网络文化遗产进行抢救性保存的场景。本文聚焦于一个综合性实战项目:运用Python生态中的requests、httpx、playwright等工具,结合异步编程与反爬策略,系统性地抓取并归档4399小游戏网站的元数据与资源文件。项目深入探讨了动态页面渲染处理、游戏文件地址逆向分析等关键技术难点,并强调了在数据抓取 阅读详情

相关推荐

CentOS7环境下搭建 rsyslog 日志服务器,rsyslog+loganalyzer

1.系统环境部署 ip hostname 192.168.200.182 web 192.168.200.184 rsyslog-mysql 关闭防火墙、selinux、下载epel源 [root@web ~]# systemctl status firewalld.service ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/f

sehn_的博客 3756

(转载)Gloomy对Windows内核的分析(介绍)

INTRO (写给NT研究者)=============================                                             Мы всего лишь момент во времени                                             Отблеск в глазах,                

峥嵘岁月 5280

zds1104示波器使用指南

(2)将探头连接到探头补偿端,按下auto setup按键,一键捕获。(3)连接需要测量信号,开始查看波形。操作说明书,可以自行查看操作说明书。

m0_61973119的博客 6777

《Windows NT File System Internals》学习笔记之Windows NT系统启动顺序

操作系统的启动顺序因为系统、处理器、操作系统版本和结构的不同而不同。NT系列的操作系统启动顺序如下:1.电脑的系统启动模块调用NT系统启动程序,OS Loader组件传递一个BootRecord结构体给该程序。NT系统启动程序执行全局初始化工作,然后决定操作系统启动分区,初始化工作还包括初始化启动过程中使用到的内存描述符。NT系统启动程序也调用一个堆初始化程序,该程序创建内存描述符,这

不论你在什么时候开始,重要的是开始之后就不要停止。 1534

CloudFlare CDN优化延迟

这两天在倒腾一个小网站,因为刚注册的域名还没来得及备案,所以就解析到了国外的服务器临时撸代码。为了防止不必要的麻烦,所以在前端套了CloudFlare,但是延迟就比较感人了,通常在150+左右还时不时的抽风,所以就找了点资料来优化一下这个延迟问题。然后再新增一些CloudFlare的亚太地区节点ip的A解析,有耐心的可以分为电信线路和联通线路,我比较懒,所以只分了境内和默认。众所周知CloudFlare是智齿cname解析的,那么我们今天就要用到这个办法了,这里要注意一下,默认的解析是不能动的。

Zuozi - 网络从业者长见识就来Zuozi.NET 1086

如何利用Arcgis进行地统计学分析(三):空间插值方法选择与优化

本文深入探讨了在Arcgis中进行地统计学分析时,如何根据探索性数据分析(EDA)结果科学选择与优化空间插值方法。文章对比了IDW、RBF、克里金等主流方法的适用场景与核心参数,并通过实战案例详解了从数据诊断到模型调优的完整流程,强调结合半变异函数与趋势分析进行“对症下药”,以提升插值结果的精度与可靠性。

weixin_29281915的博客 121

获取Windows 系统的内核变量

关键字:PsLoadedModuleList、PsActiveProcessHead、NtSystemDebugControl        PsNtosImageBase、KdVersionBlock、KdDebuggerDataBlock、内核变量     PsLoadedModuleList等重要内核变量并未被ntoskrnl.exe导出,也没有公开的函数可以获取。而这些内核变量对于

小发猫 1905

pgAdmin4备份恢复实战:从安装到避坑指南

本文提供了一份详尽的pgAdmin4备份恢复实战指南,涵盖从安装配置到执行备份恢复的全流程。针对Windows环境下的浏览器兼容性、二进制路径配置等常见问题,给出了具体解决方案。重点强调了使用pgAdmin4进行备份恢复的可靠性,特别是在处理包含PostGIS等扩展的数据库时,能有效避免数据类型和权限错误,确保数据迁移的完整性与安全性。

weixin_29266007的博客 439

启动配置数据(BCD)存储

最近在看Windows 7和Windows Server 2008的部署,需要用到BCDEdit.exe创建Windows PE启动环境配置数据(BCD),在网上找了一些资料,大部分都是讲在多重启动环境中使用BCDEdit.exe编辑启动菜单的,但对于大多数应用不需要多重启动环境,所以仔细研究了一下BCD和BCDEdit.exe。下面是学习总结: Microsoft从Windows Vista开始完全重新设计了操作系统启动环境,以解决现在硬件和固件日益增长的复杂性和多样性。重新设计的操作系...

顺其自然~专栏 1万+

家庭路由器从入门到精通:连接设置、优化排障全指南

路由器作为家庭网络的核心枢纽,其工作原理基于NAT(网络地址转换)和DHCP(动态主机配置协议)两大关键技术。NAT负责将公网IP转换为多个内网IP,实现多设备共享上网;DHCP则自动为接入设备分配IP地址,简化网络配置。这些技术共同构建了稳定、安全的局域网环境,其价值在于为智能家居、在线办公、高清影音和游戏娱乐等场景提供可靠的网络基础。理解路由器的物理连接、后台设置与故障排查逻辑,是优化Wi-Fi信号覆盖、提升网络性能、保障家庭网络安全的关键。本文以路由器配置与排障为核心,详细解析从WAN/LAN口区分、

weixin_33393017的博客 406

ST MotorControl Workbench 6.2.1 自定义硬件配置避坑指南

本文详细介绍了ST MotorControl Workbench 6.2.1在自定义硬件配置中的常见问题与解决方案,涵盖功率板配置、采样电路校准、电机参数设置及代码生成避坑指南,帮助开发者高效完成电机控制项目开发。

red88的博客 1025

计算机发展过程相关网页,网页模拟器推荐:重温从Windows 1.0到Windows XP的发展史...

(1)Windows 1.01:该模拟器(PCJS)中运行的“系统配置”为4.77MHz的处理器、256KB的内存、以及一台CGA显示器。当然,由于硬盘在当时仍属“奢侈品”,所以你只会看到软驱。Ballmer sells Windows 1.0(2)Windows 3.0:在Windows 1.x发布五年之后,Windows 3.0带来了巨大的改进。除了更好多任务处理和内存管理(引入了虚拟内存机制...

weixin_34883093的博客 898

当我们谈论Unidbg时我们在谈什么

文章目录一、前言二、使用Unidbg的工作量是什么三、补环境补的是什么3.1 运行环境缺失3.2 上下文缺失四、Unidbg 不是所有情况下最优的解决方案五、Unidbg在大多数情况下是好的方案六、Unidbg和风控无关七、尾声 一、前言 这是一篇漫谈Unidbg的文章,我对Unidbg的使用和理解都还很浅,日后会更新或修改看法,欢迎大佬指点,也期待同侪讨论。 二、使用Unidbg的工作量是什么 我们常规使用Frida + IDA的动静态分析中,工作可能是这样的 找线索→Frida Hook验证→验证成功继

lilac的博客 5789

Legacy Update

如果你家里还有老电脑装着XP、Win7这些早就停产的Windows系统,现在肯定发现没法正常更新了。微软早在2014年就关了XP的更新服务,2020年又停了Win7的更新通道,导致这些老系统连不上更新服务器了。 这时候可以用这个"旧版更新"工具来救命。它能帮你:

WXbohos2008的优快云博客日记 702

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

SerenityOS终极指南:从复古情怀到现代Unix系统的完美体验

想体验90年代经典界面与现代Unix内核的完美结合吗?SerenityOS正是这样一个独特的开源操作系统,它巧妙融合了复古美学和现代C++技术,为你带来既怀旧又实用的计算体验。无论你是操作系统爱好者、开发者,还是单纯喜欢复古风格的极客,SerenityOS都能满足你的探索欲望。 ## 🎯 为什么选择SerenityOS?复古与现代的完美平衡 很多开发者都面临一个困境:喜欢现代操作系统的强大功

gitblog_00103的博客 483

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

获取内核ntoskrnl.exe基地址的几种常见办法

 作 者: combojiang如果大家写过shellcode一定还记得,shellcode中开头要找kernel32.dll模块的内存加载地址。同样,如果大家要写一个内核的类似东东的话,第一步也是要找出ntoskrnl.exe模块的内存加载位置。有三种常见办法在这里咱们大体描述下:1。利用ZwQuerySystemInformation 来检索加载的模块,从加载模块里面搜索出ntoskrnl.e

5286

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

了解Windows NT启动步骤

了解Windows NT启动步骤  载入 Windows NT 的 OS Loader   PBS 是一段由作业系统提供的程式, 它的目的是用来载入作业系统, 而首先被PBS 载入的 Windows NT 开机档案就是 ntldr, 您可以在 Windows NT 电脑的第一颗硬碟根目录找到这个档案, 而且 ntldr 也只能放在这里, 否则 Windows NT 将无法启动。因为 ntldr 是

zhangzhentao的专栏 2347

Windows启动过程

当你启动计算机之后,windows的启动过程就开始执行了。下面是详细步骤: 1BIOS执行一些初始系统检查,并读取磁盘的第零簇的内容。第零簇内容有一个特殊的称谓-操作系统主引导扇区MBR(MasterBootRecord)。 2 MBR保护两部分:   1系统启动代码(共有446bytes)   2分区表入口(16bytescoloredentriesin...

weixin_30500289的博客 558

Windows的启动过程

Windows 启动过程大致可以分为下面几个步骤: 1、预引导 2、引导 3、载入内核 4、初始化内核 5、登录 补充说明: 载入内核阶段:是读取HKEY_LOCAL_MACHINE/System注册表键,然后根据载入的Select键的内容判断接下来需要载入哪个Control Set注册表键,而这些键会决定随后系统将载入哪些设备驱动或者启动哪些服务,这里实际是寻找Start键的数值是“1...

zhaihaibo168的博客 4606

Windows启动文件的详细介绍

 Ntldr Boot.iniNtdetect.comNtbootdd.sysNtoskrnl.exeSystem.dat Ntldr是一个隐藏的、只读的系统文件,用来装载、调用NT操作系统的一个核心文件。Ntdetect.com是用来检测计算机的硬件环境是否满足装载该操作系统的最低要求。Ntbootdd.sys用于SCSI硬盘,硬盘驱动的一部分Ntos

xury的专栏 1776

Windows NT 4.0中文版的开机过程

Windows NT 4.0中文版的开机过程 ● 文 / 赖 荣 枢   了解作业系统的开机过程是任何想要深入作业系统核心的人所必备的知识, Windows NT 本身支援多重开机, 开机过程的复杂程度已经不是从前的 DOS 可以比拟。    当你开启安装了 Windows NT 4.0 Workstation 的电脑电源, 你的电脑就开始了 载入 Windows NT 系统的动作, 虽然光就电脑

蝈蝈俊.net 4956

Windows会话登录流程

Windows 结构图 Windows系统核心结构和组件 以上截图清晰的表现了Windows的主要结构,使我们对系统的构成有个大概的认识,下面介绍一下Windows会话登录大致流程: 1、内核模式的系统线程初始化Windows执行体和内核,最后阶段Smss(会话管理)进程。 2、Smss负责完成一系列操作,如打开额外页面文件,创建系统环境变量等,并将Csrss.

sunleishandong的专栏 2331
上一篇: VMProtect使用技巧汇集__最好的虚拟机保护软件之一
下一篇: 基于IO Packet隐藏文件和注册表,过磁盘解析和总线解析
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值