diff --git a/mach_override.c b/mach_override.c index 85a75e5..de857ad 100644 --- a/mach_override.c +++ b/mach_override.c @@ -641,7 +641,8 @@ fixupInstructions( int index; for (index = 0;index < instructionCount;index += 1) { - if (*(uint8_t*)instructionsToFix == 0xE9) // 32-bit jump relative + uint8_t opcode = *(uint8_t*)instructionsToFix; + if ((opcode == 0xE9) || (opcode == 0xE8)) // 32-bit jump/call relative { uint32_t offset = (uintptr_t)originalFunction - (uintptr_t)escapeIsland; uint32_t *jumpOffsetPtr = (uint32_t*)((uintptr_t)instructionsToFix + 1);