【逆向】Windows 系统调用流程 + SSDT/ShadowSSDT/ETW/VT Hook + 内核 / 用户层区别

一、Windows 系统调用完整执行流程

  1. 用户态API(如ReadProcessMemory)调用ntdll.dll里的Native API
  2. Native API 将系统调用号 存入EAX/RAX,参数入栈/寄存器
  3. 执行sysenter/syscall指令,从用户态切到内核态
  4. 内核找到MSR寄存器指向的系统调用入口KiSystemCall64
  5. 校验参数、线程模式、栈,进入系统调用分发
  6. 查SSDT得到内核函数地址,调用对应内核服务
  7. 执行完将结果返回EAX/RAX,通过sysexit/sysret切回用户态
  8. 逐层返回,完成系统调用

二、四种系统调用Hook实现原理

1. SSDT Hook(系统服务描述表)

  • 作用:Hook普通原生系统调用(进程/线程/内存/文件)
  • 原理:修改SSDT表中函数地址,指向自己的过滤函数
  • 适用:x86时代主流;x64受KVA Shadow/PG保护,极难稳定

2. ShadowSSDT Hook(影子系统服务表)

  • 作用:HookWin32k GUI系统调用(窗口、消息、渲染)
  • 原理:结构与SSDT类似,专门处理GUI相关系统调用
  • 限制:仅GUI线程使用,同样受内核保护

3. ETW Hook(事件追踪)

  • 作用:非侵入式监控系统调用,不修改内核代码/表
  • 原理:系统调用进入/离开时会触发ETW事件,注册回调捕获
  • 优点:稳定、不被PatchGuard杀、兼容性极强
  • 缺点:只能监控,无法阻断/修改参数

4. VT Hook(虚拟化Hook)

  • 作用:最高权限、底层拦截,可穿透绝大多数防护
  • 原理:利用CPU虚拟化,将系统置于VMX非根模式
  • syscall触发VM-Exit,由VMM拦截处理
  • 优点:可Hook任意指令/函数,无法被常规手段检测
  • 缺点:开发复杂、依赖CPU虚拟化支持

三、内核态 Hook vs 用户态 Hook

用户态 Hook

  • 位置:IAT、Inline、内存、DLL注入
  • 范围:仅限当前进程
  • 权限:低,易被反调试、保护进程拦截
  • 实现:简单、稳定、开发快
  • 场景:普通逆向、游戏辅助、应用层安全

内核态 Hook

  • 位置:SSDT、内核函数、Minifilter、驱动回调
  • 范围:全局,所有进程
  • 权限:高,可监控/拦截系统级行为
  • 风险:易触发PatchGuard/蓝屏,受KVA Shadow保护
  • 场景:安全软件、反作弊、DMA配套、系统监控

四、总结

系统调用:用户态→sysenter→内核→查SSDT→执行内核函数→返回。SSDT/ShadowSSDT是修改系统调用表;ETW是无侵入监控;VT是虚拟化底层拦截。用户态只管单进程、简单安全;内核态全局生效、权限高但风险大、受PG/KVA限制。

相关推荐
段一凡-华北理工大学6 小时前
大模型应用开发 100 天:Python + LLM 从入门到精通 day26~Prompt 调试与优化——A/B 测试与效果评估
windows·python·大模型·prompt·智能体·提示词工程·高炉智能化
fox_charon7 小时前
Windows 下 CLI 参数的引号陷阱:为什么 --resume 'uuid' 会失败
windows·shell·cmd·cli·引号
染指11109 小时前
128.Agent-LangChain核心组件-中间件-调用模型的时候
人工智能·windows·中间件·langchain·agent
Frag0ut10 小时前
Chrome与Chromium内核浏览器在Windows 11上的新特性全景解析
前端·chrome·windows·web安全·chromium·gemini ai·playready drm
数安旭说11 小时前
企业终端安全实战:Windows软件管控、正版检测、变更审计与私有软件库落地
windows·企业安全·软件需求·终端安全·软件管理·正版检测·终端审计
小羊没烦恼!12 小时前
在Scrum中实施敏捷建模
java·开发语言·windows·算法·c#
玖石书12 小时前
python-uv-windows环境安装方案
windows·python·uv
程序员老陆12 小时前
WIN32_LEAN_AND_MEAN:Windows 头文件里的“精简编译开关”
c++·windows
玖石书13 小时前
LVGL的windows开发环境安装指南
windows·数字人·lvgl·仿真
qetfw13 小时前
Windows Server AD CS:根 CA、Web 证书模板与域内自动注册
前端·windows·windows-server