Don't write a new hook just update the old one.
Here's a script from this table that's already been updated before. Look torwards the bottom because I save the original code for each update and the AOB for that code is there as well.
Code: Select all
{
Process : MK11.exe - (x64)
Module : MK11.exe
Game Title : MK11
Game Version : 1.0.0.0
CE Version : 6.83
Script Version : 0.0.1
Date : 04/25/19
Author : ShyTwig16
Name : RoundTimerHook
Round Timer Hook
8B8148070000C348xxxxxx4Cxxxxxx41
8B8148070000C34Cxxxxxx48xxxxxx48
}
{$STRICT}
define(address, MK11.exe+7688020)
define(bytes, 8B 81 48 07 00 00)
////
//// ------------------------------ ENABLE ------------------------------
[ENABLE]
// aobScanModule(aobRoundTimerHook, MK11.exe, 3B66908B8148070000C3)
i2aobScanModule(aobRoundTimerHook, MK11.exe, 3B66908B8148070000C3)
define(injRoundTimerHook, aobRoundTimerHook+3)
// assert(injRoundTimerHook, bytes)
i2assert(injRoundTimerHook, bytes)
registerSymbol(injRoundTimerHook)
alloc(memRoundTimerHook, 0x400, injRoundTimerHook)
label(ptrRoundTimerHook)
registerSymbol(ptrRoundTimerHook)
label(n_code)
label(o_code)
label(exit)
label(return)
memRoundTimerHook:
ptrRoundTimerHook:
dq 0
align 10 CC
n_code:
mov [ptrRoundTimerHook],rcx
o_code:
mov eax,[rcx+00000748]
exit:
jmp return
////
//// ---------- Injection Point ----------
injRoundTimerHook:
jmp n_code
nop
return:
////
//// ------------------------------ DISABLE ------------------------------
[DISABLE]
////
//// ---------- Injection Point ----------
injRoundTimerHook:
db bytes
unregisterSymbol(injRoundTimerHook)
unregisterSymbol(ptrRoundTimerHook)
dealloc(memRoundTimerHook)
{ 3B66908B8148070000C3
MK11.exe+7D6E3BB - 48 8D 35 112AAE0F - lea rsi,[MK11.exe+17850DD3]
MK11.exe+7D6E3C2 - 4C 31 ED - xor rbp,r13
MK11.exe+7D6E3C5 - 49 31 E9 - xor r9,rbp
MK11.exe+7D6E3C8 - E9 92C70110 - jmp MK11.exe+17D8AB5F
MK11.exe+7D6E3CD - 3B 66 90 - cmp esp,[rsi-70]
MK11.exe+7D6E3D0 - 8B 81 48070000 - mov eax,[rcx+00000748] // ---------------
MK11.exe+7D6E3D6 - C3 - ret
MK11.exe+7D6E3D7 - 41 C1 FF 0F - sar r15d,0F
MK11.exe+7D6E3DB - 41 BB 74060C9D - mov r11d,9D0C0674
MK11.exe+7D6E3E1 - 45 11 FB - adc r11d,r15d
MK11.exe+7D6E3E4 - 48 83 EC 08 - sub rsp,08
MK11.exe+7D6E3E8 - 4C 89 1C 24 - mov [rsp],r11
}
{ 8B8148070000C34Cxxxxxx48xxxxxx48
MK11.exe+ADEAA30 - 8B 81 48070000 - mov eax,[rcx+00000748] // ---------------
MK11.exe+ADEAA36 - C3 - ret
MK11.exe+ADEAA37 - 4C 8B 24 24 - mov r12,[rsp]
MK11.exe+ADEAA3B - 48 83 EC F8 - sub rsp,-08
MK11.exe+ADEAA3F - 48 8B 1C 24 - mov rbx,[rsp]
MK11.exe+ADEAA43 - 48 83 C4 F8 - add rsp,-08
MK11.exe+ADEAA47 - 4C 89 24 24 - mov [rsp],r12
MK11.exe+ADEAA4B - 4C 8B 64 24 08 - mov r12,[rsp+08]
MK11.exe+ADEAA50 - 4D 31 E4 - xor r12,r12
}
{ 8B8148070000C348xxxxxx4Cxxxxxx41
//// Injection Point: MK11.exe+7688020 - 0000000147688020
//// AOB address: 0000000147688020 - MK11.exe+7688020
//// Process: MK11.exe - 0000000140000000
//// Module: MK11.exe - 0000000140000000
//// Module Size: 0000000017EBE000
MK11.exe+7687FCF: C3 - ret
MK11.exe+7687FD0: 3B 48 83 - cmp ecx,[rax-7D]
MK11.exe+7687FD3: EC - in al,dx
MK11.exe+7687FD4: 08 4C 89 24 - or [rcx+rcx*4+24],cl
MK11.exe+7687FD8: 24 49 - and al,49
MK11.exe+7687FDA: F7 D4 - not esp
MK11.exe+7687FDC: 48 87 34 24 - xchg [rsp],rsi
MK11.exe+7687FE0: 4C 21 E6 - and rsi,r12
MK11.exe+7687FE3: 48 89 34 24 - mov [rsp],rsi
MK11.exe+7687FE7: 41 5C - pop r12
MK11.exe+7687FE9: 4C 03 24 24 - add r12,[rsp]
MK11.exe+7687FED: 48 83 C4 08 - add rsp,08
MK11.exe+7687FF1: 48 8D 2C 24 - lea rbp,[rsp]
MK11.exe+7687FF5: 48 81 ED D7132D50 - sub rbp,502D13D7 [00000000]
MK11.exe+7687FFC: 48 8B B5 D7132D50 - mov rsi,[rbp+502D13D7]
MK11.exe+7688003: 48 89 14 24 - mov [rsp],rdx
MK11.exe+7688007: 48 8D 15 3213E100 - lea rdx,[148499340] [83485340]
MK11.exe+768800E: 48 87 14 24 - xchg [rsp],rdx
MK11.exe+7688012: C3 - ret
MK11.exe+7688013: 66 66 66 66 2E 0F1F 84 00 00000000 - nop cs:[rax+rax+00000000]
//// INJECTING START ----------------------------------------------------------
MK11.exe+7688020: 8B 81 48070000 - mov eax,[rcx+00000748] <<<--- AOB Starts Here
//// INJECTING END ----------------------------------------------------------
MK11.exe+7688026: C3 - ret
MK11.exe+7688027: 48 8B 2C 24 - mov rbp,[rsp]
MK11.exe+768802B: 4C 89 3C 24 - mov [rsp],r15
MK11.exe+768802F: 41 89 EF - mov r15d,ebp
MK11.exe+7688032: 41 F7 DF - neg r15d
MK11.exe+7688035: 45 29 F9 - sub r9d,r15d
MK11.exe+7688038: 41 5F - pop r15
MK11.exe+768803A: 0F8A 50D45FFC - jp 143C85490
MK11.exe+7688040: 48 8D 2D D5E8490E - lea rbp,[155B2691C] [04834854]
MK11.exe+7688047: 41 51 - push r9
MK11.exe+7688049: 49 89 E9 - mov r9,rbp
MK11.exe+768804C: 4C 87 0C 24 - xchg [rsp],r9
MK11.exe+7688050: C3 - ret
MK11.exe+7688051: C7 - db -39
MK11.exe+7688052: 4C 8B 1C 24 - mov r11,[rsp]
MK11.exe+7688056: 48 89 2C 24 - mov [rsp],rbp
MK11.exe+768805A: 48 8D 2D 5FFFC003 - lea rbp,[14B297FC0] [E9D18948]
MK11.exe+7688061: 48 87 2C 24 - xchg [rsp],rbp
MK11.exe+7688065: C3 - ret
MK11.exe+7688066: E7 CC - out -34,eax
//// Template: I2CEA_AOBFullInjection
//// Generated with: I2 Cheat Engine Auto Assembler Script Template Generator
//// Code Happy, Code Freely, Be Awesome.
}