1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-24 17:49:52 +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; PROC org = *orgFunc;
DWORD oldProtect; 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(orgFunc, sizeof(PROC), oldProtect, &oldProtect);
*orgFunc = newFunc; return org;
VirtualProtect(mbi.BaseAddress, mbi.RegionSize, oldProtect, &oldProtect);
return org;
}
} }
return 0; 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) _stricmp((const char *)pImport->Name, functionName) == 0)
{ {
DWORD oldProtect; 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(&pFirstThunk->u1.Function, sizeof(DWORD), oldProtect, &oldProtect);
pFirstThunk->u1.Function = (DWORD)newFunction;
VirtualProtect(mbi.BaseAddress, mbi.RegionSize, oldProtect, &oldProtect);
}
} }
break; break;