Advertisement
cos8o

Far JMP Hook

Aug 19th, 2017
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Only DLL
  2. bool farHook(void *toBeHooked, void *hooker) {
  3.     DWORD oldProtect, newProtect;
  4.     if (!(VirtualProtect((LPVOID)toBeHooked, 7, PAGE_EXECUTE_READWRITE, &oldProtect) &&
  5.         WriteProcessMemory((HANDLE)-1, (LPVOID)toBeHooked, new byte{ 0xea }, 1, NULL) &&
  6.         WriteProcessMemory((HANDLE)-1, (LPVOID)((DWORD)toBeHooked + 1), (byte*)&hooker, 4, NULL) &&
  7.         WriteProcessMemory((HANDLE)-1, (LPVOID)((DWORD)toBeHooked + 5), new byte{ 0x23 }, 1, NULL) &&
  8.         WriteProcessMemory((HANDLE)-1, (LPVOID)((DWORD)toBeHooked + 6), new byte{ 0x00 }, 1, NULL) &&
  9.         VirtualProtect((LPVOID)toBeHooked, 7, oldProtect, &newProtect))) {
  10.         return false;
  11.     }
  12.     return true;
  13. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement