Donator
It works on all windows versions of Valorant with memory guard.WINDOWS 11?
ULONG infoLen = 0;
NTSTATUS status = ZwQuerySystemInformation(SystemBigPoolInformation, &infoLen, 0, &infoLen);
PSYSTEM_BIGPOOL_INFORMATION pPoolInfo = 0;
while (status == STATUS_INFO_LENGTH_MISMATCH)
{
DbgPrintEx(0, 0, "Length : %lX", infoLen);
if (pPoolInfo)
ExFreePool(pPoolInfo);
pPoolInfo = (PSYSTEM_BIGPOOL_INFORMATION)ExAllocatePool(NonPagedPool, infoLen);
status = ZwQuerySystemInformation(SystemBigPoolInformation, pPoolInfo, infoLen, &infoLen);
}
if (pPoolInfo)
{
DbgPrintEx(0, 0, "status : %lX", status);
DbgPrintEx(0, 0, "Count : %lu", pPoolInfo->Count);
for (int i = 0; i < pPoolInfo->Count; i++)
{
SYSTEM_BIGPOOL_ENTRY* Entry = &pPoolInfo->AllocatedInfo;
PVOID VirtualAddress = (PVOID)((uintptr_t)Entry->VirtualAddress & ~1ull);
SIZE_T SizeInBytes = Entry->SizeInBytes;
BOOLEAN NonPaged = Entry->NonPaged;
if (NonPaged && SizeInBytes == 0x200000)
{
DbgPrintEx(0, 0, "NonPagedPool : %p - %p", VirtualAddress, SizeInBytes);
}
}
ExFreePool(pPoolInfo);
}
if (NonPaged && SizeInBytes == 0x200000)
{
DbgPrintEx(0, 0, "NonPagedPool : %p - %p", VirtualAddress, SizeInBytes);
if ((*(uintptr_t*)((PBYTE)VirtualAddress + 0x50) & 0xFFFFFF) == 0x144F0)
{
// It is the mapped physical memory of guarded region!
}
}
if (VirtualQueryEx(hProcess, address /* ex) 0x8000000050*/, &mbi, sizeof(mbi)))
if (mbi.State == MEM_RESERVED)
// It is guarded region!
Normalde algılanmıştı fakat valorantın kendisinden okuduğumuz için ne kadar uzun süre dayanır bilmiyorum. Tabi önemli olan driver ve imzaban risk varimn
nice i will try it.It works on all windows versions of Valorant with memory guard.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?