日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php内存映射,如何用ZwMapViewOfSection将Driver分配的内存映射到App空间?

發布時間:2024/1/23 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php内存映射,如何用ZwMapViewOfSection将Driver分配的内存映射到App空间? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

保存

在DDK的例子Mapmem中,用ZwMapViewOfSection將物理地址映射到App空間,該函數能否將系統地址映射到App空間?

我嘗試著做了一下,但返回invalid_view_size,好像length給的不對。各位大俠幫忙看看啊。

PVOID

GetUserAddressFromSystemAddress(IN PVOID iSystemAddress,///系統地址

IN ULONG iBufferLength ?///地址空間長度

)

{

UNICODE_STRING ? ? systemMemoryUnicodeString;

OBJECT_ATTRIBUTES ?objectAttributes;

HANDLE ? ? ? ? ? ? systemMemoryHandle ?= NULL;

PVOID ? ? ? ? ? ? ?systemMemorySection = NULL;

NTSTATUS ? ? ? ? ? ntStatus;

PVOID ? ? ? ? ? ? ?virtualAddress;

ULONG length=iBufferLength;

LARGE_INTEGER lSystemAddress;

KIRQL irql=KeGetCurrentIrql();

RtlInitUnicodeString (&systemMemoryUnicodeString,

L\"\\\\Device\\\\SystemMemory\");

InitializeObjectAttributes(&objectAttributes,///OUT

&systemMemoryUnicodeString, ?///the ObjectName

OBJ_CASE_INSENSITIVE, ?the Attributes

(HANDLE) NULL,

(PSECURITY_DESCRIPTOR) NULL);

ntStatus = ZwOpenSection(&systemMemoryHandle, //SectionHandle OUT

SECTION_ALL_ACCESS,///DesireAccess

&objectAttributes);///ObjectAttributes

if (!NT_SUCCESS(ntStatus))

{

return NULL;

}

ntStatus = ObReferenceObjectByHandle (systemMemoryHandle,//got by ZwOpenSection

SECTION_ALL_ACCESS,

(POBJECT_TYPE) NULL,

KernelMode,

&systemMemorySection,//OUT Pointer to the object bocy

(POBJECT_HANDLE_INFORMATION) NULL);

///OUT points to the struture receives the handle attributes

///and the granted access rights for the object

if (!NT_SUCCESS(ntStatus))

{

goto close_handle;

}

virtualAddress = NULL;

///存放Driver分配的系統地址

lSystemAddress.QuadPart=(LONGLONG)iSystemAddress;

// Map the section

ntStatus = ZwMapViewOfSection(systemMemoryHandle,

(HANDLE) -1,

&virtualAddress,

0L,///IN ZeroBits

length,

&lSystemAddress,

&length,

ViewShare,

0,

PAGE_READWRITE | PAGE_NOCACHE);

if (!NT_SUCCESS(ntStatus))

{

goto close_handle;

}

//

return virtualAddress;

close_handle:

ZwClose (systemMemoryHandle);

return NULL;

}

總結

以上是生活随笔為你收集整理的php内存映射,如何用ZwMapViewOfSection将Driver分配的内存映射到App空间?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。