Skip to content

Instantly share code, notes, and snippets.

@MrAmbiG
Created March 3, 2025 18:06
Show Gist options
  • Save MrAmbiG/463ea24eb801904e6a234ea889ee1a89 to your computer and use it in GitHub Desktop.
Save MrAmbiG/463ea24eb801904e6a234ea889ee1a89 to your computer and use it in GitHub Desktop.
Batman Arkham Knight CheatEngine combo script
{ Game : BatmanAK.exe
Version:
Date : 2016-03-21
Original Author : Chris Fayte
This script does blah blah blah
}
[ENABLE]
aobscanmodule(combo1,BatmanAK.exe,01 3E 8B 06 48 8B 5C 24 40) // should be unique
alloc(newmem,$100,"BatmanAK.exe"+508D131)
label(code)
label(hitmore)
label(resetcombo) // New label for resetting combo
label(return)
newmem:
cmp [rsi+10],0A
jle code
cmp [rsi],6F // Compare with 111 (6F in hex)
jge resetcombo // Jump to resetcombo if combo >= 111
mov edi,6F // Set combo to 111 (6F in hex)
mov [rsi],edi
mov eax,[rsi]
mov rbx,[rsp+40]
jmp return
resetcombo: // New section to reset combo to 0
mov edi,00 // Set combo to 0 (00 in hex)
mov [rsi],edi
mov eax,[rsi]
mov rbx,[rsp+40]
jmp return
hitmore:
mov edi,3E8
add [rsi],edi
mov eax,[rsi]
mov rbx,[rsp+40]
jmp return
code:
add [rsi],edi
mov eax,[rsi]
mov rbx,[rsp+40]
jmp return
combo1:
jmp newmem
nop
nop
nop
nop
return:
registersymbol(combo1)
[DISABLE]
combo1:
db 01 3E 8B 06 48 8B 5C 24 40
unregistersymbol(combo1)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "BatmanAK.exe"+508D131
"BatmanAK.exe"+508D10D: 48 FF 43 1C - inc [rbx+1C]
"BatmanAK.exe"+508D111: 48 8B 43 1C - mov rax,[rbx+1C]
"BatmanAK.exe"+508D115: 80 38 41 - cmp byte ptr [rax],41
"BatmanAK.exe"+508D118: 75 17 - jne BatmanAK.exe+508D131
"BatmanAK.exe"+508D11A: 48 8B 4B 14 - mov rcx,[rbx+14]
"BatmanAK.exe"+508D11E: 48 FF C0 - inc rax
"BatmanAK.exe"+508D121: 45 31 C0 - xor r8d,r8d
"BatmanAK.exe"+508D124: 48 89 DA - mov rdx,rbx
"BatmanAK.exe"+508D127: 48 89 43 1C - mov [rbx+1C],rax
"BatmanAK.exe"+508D12B: FF 15 B7 06 81 FE - call qword ptr [BatmanAK.exe+389D7E8]
// ---------- INJECTING HERE ----------
"BatmanAK.exe"+508D131: 01 3E - add [rsi],edi
"BatmanAK.exe"+508D133: 8B 06 - mov eax,[rsi]
"BatmanAK.exe"+508D135: 48 8B 5C 24 40 - mov rbx,[rsp+40]
// ---------- DONE INJECTING ----------
"BatmanAK.exe"+508D13A: 89 45 00 - mov [rbp+00],eax
"BatmanAK.exe"+508D13D: 48 8B 6C 24 58 - mov rbp,[rsp+58]
"BatmanAK.exe"+508D142: 48 83 C4 20 - add rsp,20
"BatmanAK.exe"+508D146: 41 5C - pop r12
"BatmanAK.exe"+508D148: 5F - pop rdi
"BatmanAK.exe"+508D149: 5E - pop rsi
"BatmanAK.exe"+508D14A: C3 - ret
"BatmanAK.exe"+508D14B: CC - int 3
"BatmanAK.exe"+508D14C: CC - int 3
"BatmanAK.exe"+508D14D: CC - int 3
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment