----------------解决方案--------------------------------------------------------
你验证了内存是一维数组?
怎么验证的
内存和一维数组有什么相似的地方
数组名是什么
元素个数是多少
如何利用 "[]"读写
如何通过数组名与*进行访问
周一精神就是好,不是老拿内存和数组说事吗,先教你怎么用*和[]读写物理内存。
NTSTATUS status;
UNICODE_STRING physmemName;
OBJECT_ATTRIBUTES attributes;
HANDLE hMem;
LPBYTE pBaseAddress;
RtlInitUnicodeString(&physmemName, L"\\Device\\PhysicalMemory");
attributes.Length = sizeof(OBJECT_ATTRIBUTES);
attributes.RootDirectory = NULL;
attributes.ObjectName = &physmemName;
attributes.Attributes = 0;
attributes.SecurityDescriptor = NULL;
attributes.SecurityQualityOfService = NULL;
status = ZwOpenSection(&hMem, SECTION_MAP_READ|SECTION_MAP_WRITE, &attributes);
if(NT_SUCCESS(status))
{
pBaseAddress = (LPBYTE)MapViewOfFile(hMem, FILE_MAP_READ|FILE_MAP_WRITE, 0, 0,
0x1000); // one page size to be mapped
}
现在可以拿着pBaseAddress做你想做的事了。
----------------解决方案--------------------------------------------------------