Noting 1 -- About dxg 44con

前言

自己做的44con的笔记, 因为是方便自己理解, 所以不是很推荐食用… 之后我把我的TO_DO_LIST做完了之后, 会给出相应的详细的补充.

win32k filter



关键表: 这个表会包括被filter的函数.

[+] ws2pServiceFilterTable

相关的链接:

[+]

关键点:

[+] 针对EDGE浏览器
[+] win32kbase!GdiDdDDI系列有很多没有被filter.

DxgInterface

dxg kernel的接口:

[+] win32kbase!gDxgInterface

通过这张表可以访问到dxgkrnl.sys里面.

XPDM overview

WDDM overiew(重点)

想调用到子系统去, 就得通过上面几层:

[+] runtime
[+] win32k
[+] openGL runtime

重要的四个驱动:

[+] dxgkrnl.sys
[+] dxgmms1.sys 和 dxgmms2.sys
[+] BasicRender.sys(I love the gay)
[+] BasicDisplay.sys

dxgkrnl.sys

[+] WDDM系统的核心组件.

[+] 包含Dxg对象, 并提供该对象的句柄. and save object pointers for miniports???
[+] 针对miniport提供了回调函数(类似win32k??)
[+] 写POC的接口. 提供了用户可以调用的API
[+] 实现了GPU调度, 进程隔离.

dxmms.sys

BasicRender.sys

BasicDisplay.sys

direct kernel object

需要注意的如下:

[+] 全局变量在初始化的时候即被创建.
[+] HMGRTABLE存在内核泄露吗? 感觉和GDISharedHandleTable差不多
[+] DXGALLOCATION和POOL相关.

一张目前无法理解的图, 等视频出来之后, 再来补充:

How to Fuzz(其实就是去和去构造POC. 重点)

一共有四种比较重要的操作(这个地方在自己构造POC的过程中一定要常回来看看):

[+] Create Device
[+] Build Context
[+] Build Allocation
[+] Render & Display

[+] 注意:

[+] 此表的函数在MSDN上面都能够找到相关的详细的解释.

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 前言
  2. 2. win32k filter
  3. 3. DxgInterface
  4. 4. XPDM overview
  5. 5. WDDM overiew(重点)
    1. 5.1. dxgkrnl.sys
    2. 5.2. dxmms.sys
    3. 5.3. BasicRender.sys
    4. 5.4. BasicDisplay.sys
  6. 6. direct kernel object
  7. 7. How to Fuzz(其实就是去和去构造POC. 重点)
,