Notebook
  • Study hard and make progress every day
  • Mouka
    • Windows Internal
      • Helper Functions(todo:)
      • Find Kernel Module Address
      • Patch Guard Oops
      • Hook SSDT(Shadow)
      • Restore SSDT(Shadow)
      • Misc
        • Volatile in C
    • AntiCheat
      • Inject Defense
      • Injection Method
    • DriverDevelopment
      • 20180625
      • 20180626-27
    • Python
      • Python Tricks
        • 内置 http 服务器
        • 函数作为变量
        • "is" vs "=="
        • 直接变量值交换
        • 计算代码执行时间
        • 函数参数分解
        • 打印Python字典
        • 命名元组代替class
        • get()方法访问字典
        • 字典排序
        • 一次检查多个标志
        • 合并两个字典
        • re.sub使用替换函数
    • Algorithms
      • Greedy
        • 使括号平衡的最小交换次数
        • 埃及分数
      • DynamicProgramming
        • 0-1 背包问题
      • LeetCode
        • Count Primes
  • Honey
    • Python笔记
      • lxml库
      • os库
      • json文件读写
      • Scrapy
        • Scrapy安装与开始项目
        • Scrapy-Xpath
Powered by GitBook
On this page
  • 完善R0和R3之间的交互工作
  • 驱动初始化
  • 驱动监控
  1. Mouka
  2. DriverDevelopment

20180626-27

# 主要工作:

完善R0和R3之间的交互工作

驱动初始化

R3收到开始监控的指令后,通过指定的受保护的进程名(此处为TdxW.exe)查找进程ID,并发送到R0端

R0收到受保护进程ID后,存储该PID为全局变量,并以此初始化各种监控及保护例程

驱动监控

初始化驱动后,R0进入阻塞态(DeviceIoControl 阻塞),等待驱动发回监控事件,并将收到的事件打印(无进一步操作)

驱动开始监控后,如果检测到特定事件(目前为线程注入),根据该事件构造事件节点,并加入到消息事件的队列中,并激活同步事件(KeSetEvent)

驱动收到R3接收事件的请求后,从消息队列中取出事件发回到R3,如果消息队列为空,则驱动的处理线程阻塞(WaitForSingleObject),等待 KeSetEvent的触发

Previous20180625NextPython

Last updated 6 years ago