• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2025-05-22 15:51 Aet 隐藏边栏 |   抢沙发  1 
文章评分 1 次,平均分 5.0

概述

  1. 微软开发的 C++ ETWEvent Tracing for Windows)库,专为简化Windows事件跟踪开发而生

核心功能

  1. 封装底层ETW API,提供面向对象接口
  2. 支持用户态和内核态事件跟踪
  3. 提供事件模式解析、数据提取等高级功能
  4. 支持同步/异步事件处理模式

kernel_trace

作用

  1. 管理内核事件跟踪会话

核心方法

  1. enable(): 激活事件提供者
  2. start(): 启动跟踪会话
  3. stop(): 安全终止跟踪

process_provider 组件

作用

  1. 内核提供者

事件范围:

  1. ProcessStart(Opcode 3)
  2. ProcessStop(Opcode 4)

关键字段:

  1. ProcessId:进程PID
  2. ImageFileName:可执行文件路径

schema 解析器

作用

  1. 将原始事件数据转换为结构化格式

重要方法:

  1. task_name(): 获取事件任务名称
  2. opcode_name(): 获取操作码说明

parser 解析器

示例

  1. vcpkg安装的
  2. 示例代码,监控进程启动,文件相关操作

其他

EVENT_TRACE_PROPERTIES

  1. 含义

  1. 使用

Opcode 范围

Opcode 范围 类型 典型用途
0-10 基础操作码 进程、线程生命周期
11-198 自定义操作码 第三方应用或驱动定义的事件
199-239 保留值 系统保留,不可使用
240-255 跟踪控制操作码 WINEVENT_OPCODE_FLUSH (244)

Opcode 进程

  1. 部分值
Opcode 名称(krabs 常量) 说明
1 krabs::sysevent::opcode::start 进程启动(常规的进程创建,如用户启动程序)
2 krabs::sysevent::opcode::end 进程终止(常规的进程结束,如程序正常退出或被终止)
3 krabs::sysevent::opcode::dc_start 数据收集启动Diagnostic Collection Start,内核级进程初始化)
4 krabs::sysevent::opcode::dc_end 数据收集结束Diagnostic Collection End,内核级进程资源释放)
  1. dc_start(Opcode 3)

    1. 触发时机:在进程的 内核对象(EPROCESS) 初始化时触发
    2. 监控意义:
      比用户态进程启动(Opcode 1)更早,用于跟踪内核级进程创建活动
      适用于监控系统关键进程(如 csrss.exewininit.exe)的初始化
    3. 事件数据:
      包含进程的 父进程 PID、创建时间戳(UTC) 等元数据
  2. dc_end(Opcode 4)

    1. 触发时机:在进程的 内核对象完全释放 时触发
    2. 监控意义:
      比用户态进程终止(Opcode 2)更晚,确保所有资源已释放。
      用于检测内核级进程泄漏(如驱动程序未正确清理进程对象)。
    3. 事件数据:
      包含进程的 退出状态码、终止原因 等诊断信息

Opcode 线程

Opcode 名称 描述
1 Start 线程开始执行
2 End 线程终止
3 DC_Start 线程内核对象(ETHREAD)初始化
4 DC_End 线程内核对象释放
36 CSwitch 上下文切换(高频事件,用于 CPU 分析)

Opcode 注册表

Opcode 名称 描述
32 CreateKey 注册表键创建
33 OpenKey 打开注册表键
34 DeleteKey 删除注册表键
35 QueryKey 查询注册表键信息
36 SetValueKey 设置注册表键值(写操作)

Opcode 文件系统

Opcode 名称 描述
32 Create 文件/目录创建
33 Cleanup 文件句柄关闭
34 Close 文件对象释放
36 SetInfo 文件元数据修改(如重命名、属性更改)

声明:本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享