钩住近调用
遵循清单 8-2 中相同的内存保护规则,你可以像这样钩住近调用(打开 CallHookExample.cpp 跟着做):
DWORD callHook(DWORD hookAt, DWORD newFunc)
{
DWORD newOffset = newFunc - hookAt - 5;
auto oldProtection =
protectMemory<DWORD>(hookAt + 1,
PAGE_EXECUTE_READWRITE);
hookAt + 1);
writeMemory<DWORD>(hookAt + 1, newOffset);
protectMemory<DWORD>(hookAt + 1,
oldProtection);