首页
社区
课程
招聘
[原创] 一种新的虚拟内存转物理内存方式
发表于: 2天前 210

[原创] 一种新的虚拟内存转物理内存方式

2天前
210

在Windows 11 24H2后 Windows自带的storport.sys新增了一个RaUnitGetContiguousPhysicalAddressIoctl 这个IOCTL没有做任何校验 实际功能如下:

1. IoGetRequestorProcess(Irp)

  2. 若请求进程 != 当前进程 → KeStackAttachProcess(到调用者地址空间)

  3. MmIsAddressValid(VirtualAddress)

       失败 → STATUS_INVALID_ADDRESS (0xC0000141)

  4. PhysicalAddress = MmGetPhysicalAddress(VirtualAddress)

  5. 若 Flags bit0 置位:

       RaidLockContiguousPhysicalPages(Unit, PA, Length)

  6. KeUnstackDetachProcess

  7. 把 PA 写回 IRP buffer,IofCompleteRequest

直接向设备发送ioctl请求即可进行翻译。可惜这个功能只在24H2上新增 以前的版本没有


冰与火的战歌:Windows内核攻防实战高级班!从零到实战,融合AI与Windows内核攻防全技术栈,打造具备自动化能力的内核开发高手。

收藏
免费 0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回