1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-15 14:14:47 +01:00

remove VirtualQuery

This commit is contained in:
FunkyFr3sh 2018-12-01 06:28:46 +01:00
parent 74cfb94717
commit 95fdd19b01
2 changed files with 8 additions and 15 deletions

View File

@ -15,17 +15,14 @@ static PROC HookFunc(PROC *orgFunc, PROC newFunc)
{
PROC org = *orgFunc;
DWORD oldProtect;
MEMORY_BASIC_INFORMATION mbi;
if (VirtualQuery(orgFunc, &mbi, sizeof(MEMORY_BASIC_INFORMATION)))
if (VirtualProtect(orgFunc, sizeof(PROC), PAGE_EXECUTE_READWRITE, &oldProtect))
{
if (VirtualProtect(mbi.BaseAddress, mbi.RegionSize, PAGE_READWRITE, &oldProtect))
{
*orgFunc = newFunc;
VirtualProtect(mbi.BaseAddress, mbi.RegionSize, oldProtect, &oldProtect);
return org;
}
*orgFunc = newFunc;
VirtualProtect(orgFunc, sizeof(PROC), oldProtect, &oldProtect);
return org;
}
return 0;
}

View File

@ -180,15 +180,11 @@ void HookIAT(HMODULE hMod, char *moduleName, char *functionName, PROC newFunctio
_stricmp((const char *)pImport->Name, functionName) == 0)
{
DWORD oldProtect;
MEMORY_BASIC_INFORMATION mbi;
if (VirtualQuery(&pFirstThunk->u1.Function, &mbi, sizeof(MEMORY_BASIC_INFORMATION)))
if (VirtualProtect(&pFirstThunk->u1.Function, sizeof(DWORD), PAGE_READWRITE, &oldProtect))
{
if (VirtualProtect(mbi.BaseAddress, mbi.RegionSize, PAGE_READWRITE, &oldProtect))
{
pFirstThunk->u1.Function = (DWORD)newFunction;
VirtualProtect(mbi.BaseAddress, mbi.RegionSize, oldProtect, &oldProtect);
}
pFirstThunk->u1.Function = (DWORD)newFunction;
VirtualProtect(&pFirstThunk->u1.Function, sizeof(DWORD), oldProtect, &oldProtect);
}
break;