rendered paste bodyDWORD (WINAPI *orig_GetTickCount)(VOID);
DWORD WINAPI GetTickCount_Hook(VOID)
{
DWORD dwReturnAddress = PtrToUlong(_ReturnAddress( ));
if (dwPBCLBase != 0)
{
if ( dwReturnAddress >= dwPBCLBase && dwReturnAddress <= dwPBCLBase + 0x80000 ) {
if ( bMemoryUnpatched ) {
ApplyMemoryPatches( );
bMemoryUnpatched = FALSE;
}
bGetTickCountCalled = TRUE;
}
}
return orig_GetTickCount();
}
DWORD (WINAPI *orig_VirtualQuery)(LPCVOID lpAddr, PMEMORY_BASIC_INFORMATION lpBuf, DWORD dwLen);
DWORD WINAPI VirtualQuery_Hook(LPCVOID lpAddr, PMEMORY_BASIC_INFORMATION lpBuf, DWORD dwLen)
{
DWORD dwReturnAddress = PtrToUlong(_ReturnAddress( ));
if (dwPBCLBase != 0)
{
if ( dwReturnAddress >= dwPBCLBase && dwReturnAddress <= dwPBCLBase + 0x80000 ) {
if ( !bGetTickCountCalled ) {
RestoreMemoryPatches( );
bMemoryUnpatched = TRUE;
} else
bGetTickCountCalled = FALSE;
}
}
return orig_VirtualQuery(lpAddr, lpBuf, dwLen);
}