é ai que você se engana:
Código PHP:
void HookProc(DWORD OriginalOffset, DWORD DestOffset)
{
DWORD OldProtect = 0;
VirtualProtect((LPVOID)(OriginalOffset+1), 4, PROCESS_ALL_ACCESS, &OldProtect);
*(DWORD*)(OriginalOffset+1) = (DWORD)(DestOffset)-(OriginalOffset + 5);
VirtualProtect((LPVOID)(OriginalOffset+1), 4, OldProtect, NULL);
}
void WriteMemoryInt(DWORD Offset, DWORD bValue, DWORD bValueMax, DWORD OffsetLen)
{
DWORD OldProtect = 0;
HANDLE hProc = GetCurrentProcess();
if(bValue > bValueMax)
{
bValue = bValueMax;
}
VirtualProtect((LPVOID)Offset, OffsetLen, PROCESS_ALL_ACCESS, &OldProtect);
WriteProcessMemory(hProc, (LPVOID)Offset, &bValue, OffsetLen, NULL);
VirtualProtect((LPVOID)Offset, OffsetLen, OldProtect, NULL);
}
São duas funções do Wolf