mirror of
https://github.com/bb107/MemoryModulePP
synced 2026-06-08 13:15:33 +00:00
#35 Fix initialization failure in session 0
This commit is contained in:
@@ -333,12 +333,21 @@ NTSTATUS MmpAllocateGlobalData() {
|
||||
SIZE_T ViewSize = 0;
|
||||
PTEB teb = NtCurrentTeb();
|
||||
|
||||
swprintf_s(
|
||||
buffer,
|
||||
L"\\Sessions\\%d\\BaseNamedObjects\\MMPP*%p",
|
||||
NtCurrentPeb()->SessionId,
|
||||
(PVOID)(~(ULONG_PTR)teb->ClientId.UniqueProcess ^ (ULONG_PTR)teb->ProcessEnvironmentBlock->ProcessHeap)
|
||||
);
|
||||
if (NtCurrentPeb()->SessionId == 0) {
|
||||
swprintf_s(
|
||||
buffer,
|
||||
L"\\BaseNamedObjects\\MMPP*%p",
|
||||
(PVOID)(~(ULONG_PTR)teb->ClientId.UniqueProcess ^ (ULONG_PTR)teb->ProcessEnvironmentBlock->ProcessHeap)
|
||||
);
|
||||
}
|
||||
else {
|
||||
swprintf_s(
|
||||
buffer,
|
||||
L"\\Sessions\\%d\\BaseNamedObjects\\MMPP*%p",
|
||||
NtCurrentPeb()->SessionId,
|
||||
(PVOID)(~(ULONG_PTR)teb->ClientId.UniqueProcess ^ (ULONG_PTR)teb->ProcessEnvironmentBlock->ProcessHeap)
|
||||
);
|
||||
}
|
||||
|
||||
RtlInitUnicodeString(&us, buffer);
|
||||
InitializeObjectAttributes(&oa, &us, 0, nullptr, nullptr);
|
||||
|
||||
Reference in New Issue
Block a user