windows内核基础

windows分层模型

在这里插入图片描述
硬件抽象层屏蔽了硬件实现功能的细节。
在这里插入图片描述
IRP为内核层重要的数据结构。

物理地址和虚拟地址

  • x64的cpu仅仅支持64位地址中的前48位。其中若虚拟地址为内核,则前16位为ffff;若虚拟地址为用户模式,则前16位为0000。
  • 用户能看到的所有地址都是虚拟地址,CPU当中的寄存器CR3,保存了页表基地址的物理地址
  • 虚拟地址转换物理地址
    在这里插入图片描述

Windows Token

访问令牌(Access Token)是WIndows操作系统用于描述进程、线程安全上下文的对象。不同用户登录OS后都会创建一个Access Token,用户在创建进程、线程时这个Token会被不断复制。

OS通过进程、线程的Token来辨识特权信息。
在这里插入图片描述

Windows体系结构

NT架构
(Windows NT架构,WIn10的环境子系统发送变化了)

NTDLL.DLL:

  1. 将用户模式的请求转译为内核模式的服务
  2. 在这一层,处理器环境切换,如Context Switch、sysEnter/sysExit

子系统DLL:
包含Kernel32.dll、Advapi32.dll、User32.dll、Gdi32.dll等,都是核心windows子系统的dll

Ntoskrnl.exe:执行体和内核

win32k.sys:windows子系统的内核模式部分,(GUI相关,如窗口管理器、图像设备结构GDI等)
在这里插入图片描述

用户程序与系统交互方式:

在这里插入图片描述
在这里插入图片描述

三种方式:

  1. 用户程序通过子系统DLL,直接调用到执行体提供的函数
  2. 用户程序通过子系统调用到Win32k.sys (win32 User/GDI部分),直接从用户模式切换到内核模式
  3. 通过环境子系统调用到内核,需要4次环境切换

I/O管理器

Windows把各种I/O请求(网络IO、磁盘IO等)等抽象成了IRP结构I/O管理器将IRP分发给对应的驱动程序,一个驱动程序处理完后,通过I/O管理器将IRP传递给下一个驱动程序或者返回。
在这里插入图片描述
(NtReadFile()可以是同步IO或者是异步IO,由用户决定)

Windows安全性

在这里插入图片描述
内核模式下有一个安全引用监视器。
用户模式下有其他安全引用组件:

  • WinLogon:windows中负责登录的组件
  • LSASS:负责本地安全策略管理,对活动目录管理、对SAM服务器(含账户数据、用户口令)管理

其他

基本工作方式
在这里插入图片描述

常用工具
在这里插入图片描述
在这里插入图片描述
可以通过process monitor 查找文件句柄被那个进程占用,然后kill对应进程便可获得该文件句柄。

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值