int main()
{
LARGE_INTEGER AllocationSize = { 0 };
UNICODE_STRING objectName;
OBJECT_ATTRIBUTES objectAttr;
RtlInitUnicodeString(&objectName, L"\\Device\\vmsmb\\VSMB-{dcc079ae-60ba-4d07-847c-3493609c0870}\\SharedMemory$\\{A67DFBAE-7897-42AD-9D10-D96156B36958}");
InitializeObjectAttributes(&objectAttr, &objectName, 0, NULL, NULL);
HANDLE hAFD;
HANDLE SectionHandle;
IO_STATUS_BLOCK statusBlock{};
AllocationSize.QuadPart = 0x1000;
NTSTATUS status = NtCreateFile(
&hAFD,
3,
&objectAttr,
&statusBlock,
&AllocationSize,
0x80,
0,
FILE_OPEN_IF,
0,
nullptr,
0);
printf("NtCreateFile %ls %p\r\n", objectName.Buffer, status);
status = NtCreateSection(&SectionHandle, 6u, 0i64, 0i64, 4u, 0x8000000u, hAFD);
printf("NtCreateSection %p\r\n", status);
status = NtClose(hAFD);
printf("NtClose %p\r\n", status);
return 0;
}
SharedMemory$创建方法
最新推荐文章于 2025-09-03 23:14:03 发布