Re: The Surge
Posted: Tue Jan 08, 2019 12:39 am
I am also interested in this
Community Cheat Tables of Cheat Engine
https://fearlessrevolution.com/
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>156</ID>
<Description>"Get Item Id (Mouse Over)"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : TheSurge.exe
Version:
Date : 2019-10-06
Author : 0
This script does blah blah blah
}
[ENABLE]
aobscanmodule(INJECT,TheSurge.exe,48 8B 41 48 48 85 C0 74 05) // should be unique
alloc(newmem,$1000,"TheSurge.exe"+3B93C0)
globalalloc(item1,4)
label(code)
label(return)
newmem:
code:
mov rax,item1
mov [rax],rcx
mov rax,[rcx+48]
test rax,rax
jmp return
INJECT:
jmp newmem
nop 2
return:
registersymbol(INJECT)
[DISABLE]
INJECT:
db 48 8B 41 48 48 85 C0
unregistersymbol(INJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "TheSurge.exe"+3B93C0
"TheSurge.exe"+3B93B6: CC - int 3
"TheSurge.exe"+3B93B7: CC - int 3
"TheSurge.exe"+3B93B8: CC - int 3
"TheSurge.exe"+3B93B9: CC - int 3
"TheSurge.exe"+3B93BA: CC - int 3
"TheSurge.exe"+3B93BB: CC - int 3
"TheSurge.exe"+3B93BC: CC - int 3
"TheSurge.exe"+3B93BD: CC - int 3
"TheSurge.exe"+3B93BE: CC - int 3
"TheSurge.exe"+3B93BF: CC - int 3
// ---------- INJECTING HERE ----------
"TheSurge.exe"+3B93C0: 48 8B 41 48 - mov rax,[rcx+48]
"TheSurge.exe"+3B93C4: 48 85 C0 - test rax,rax
// ---------- DONE INJECTING ----------
"TheSurge.exe"+3B93C7: 74 05 - je TheSurge.exe+3B93CE
"TheSurge.exe"+3B93C9: 48 83 C0 28 - add rax,28
"TheSurge.exe"+3B93CD: C3 - ret
"TheSurge.exe"+3B93CE: 48 8D 05 A7 80 E3 13 - lea rax,[TheSurge.exe+141F147C]
"TheSurge.exe"+3B93D5: C3 - ret
"TheSurge.exe"+3B93D6: CC - int 3
"TheSurge.exe"+3B93D7: CC - int 3
"TheSurge.exe"+3B93D8: CC - int 3
"TheSurge.exe"+3B93D9: CC - int 3
"TheSurge.exe"+3B93DA: CC - int 3
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>158</ID>
<Description>"MK"</Description>
<LastState Value="00000005" RealAddress="16185A2C620"/>
<ShowAsHex>1</ShowAsHex>
<VariableType>4 Bytes</VariableType>
<Address>item1</Address>
<Offsets>
<Offset>50</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>175</ID>
<Description>"ID"</Description>
<LastState Value="0000016178D83270" RealAddress="16185A2C618"/>
<ShowAsHex>1</ShowAsHex>
<VariableType>8 Bytes</VariableType>
<Address>item1</Address>
<Offsets>
<Offset>48</Offset>
</Offsets>
<Hotkeys>
<Hotkey>
<Action>Increase Value</Action>
<Keys>
<Key>18</Key>
<Key>88</Key>
</Keys>
<Value>448</Value>
<ID>0</ID>
<ActivateSound>Activate</ActivateSound>
</Hotkey>
</Hotkeys>
</CheatEntry>
<CheatEntry>
<ID>195</ID>
<Description>"Get Item Array"</Description>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : TheSurge.exe
Version:
Date : 2019-10-06
Author : 0
This script does blah blah blah
}
[ENABLE]
aobscanmodule(INJECT,TheSurge.exe,48 8B 49 18 48 8B 04 C1 48 83) // should be unique
alloc(newmem,$1000,"TheSurge.exe"+68D416)
globalalloc(itemlist1,8)
label(code)
label(return)
newmem:
code:
mov rcx,[rcx+18]
push rax
mov rax,itemlist1
mov [rax],rcx
pop rax
mov rax,[rcx+rax*8] //read item list rax = count rcx = base address
jmp return
INJECT:
jmp newmem
nop 3
return:
registersymbol(INJECT)
[DISABLE]
INJECT:
db 48 8B 49 18 48 8B 04 C1
unregistersymbol(INJECT)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "TheSurge.exe"+68D416
"TheSurge.exe"+68D3F8: 48 8B 44 24 28 - mov rax,[rsp+28]
"TheSurge.exe"+68D3FD: 8B 40 10 - mov eax,[rax+10]
"TheSurge.exe"+68D400: 39 44 24 48 - cmp [rsp+48],eax
"TheSurge.exe"+68D404: 72 01 - jb TheSurge.exe+68D407
"TheSurge.exe"+68D406: CC - int 3
"TheSurge.exe"+68D407: 33 C0 - xor eax,eax
"TheSurge.exe"+68D409: 85 C0 - test eax,eax
"TheSurge.exe"+68D40B: 75 FA - jne TheSurge.exe+68D407
"TheSurge.exe"+68D40D: 8B 44 24 48 - mov eax,[rsp+48]
"TheSurge.exe"+68D411: 48 8B 4C 24 28 - mov rcx,[rsp+28]
// ---------- INJECTING HERE ----------
"TheSurge.exe"+68D416: 48 8B 49 18 - mov rcx,[rcx+18]
"TheSurge.exe"+68D41A: 48 8B 04 C1 - mov rax,[rcx+rax*8]
// ---------- DONE INJECTING ----------
"TheSurge.exe"+68D41E: 48 83 C4 38 - add rsp,38
"TheSurge.exe"+68D422: C3 - ret
"TheSurge.exe"+68D423: CC - int 3
"TheSurge.exe"+68D424: CC - int 3
"TheSurge.exe"+68D425: CC - int 3
"TheSurge.exe"+68D426: CC - int 3
"TheSurge.exe"+68D427: CC - int 3
"TheSurge.exe"+68D428: CC - int 3
"TheSurge.exe"+68D429: CC - int 3
"TheSurge.exe"+68D42A: CC - int 3
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>199</ID>
<Description>"Item0 (brose memory region to see more)"</Description>
<LastState Value="0000016178B16F70" RealAddress="1613E68F7A0"/>
<ShowAsHex>1</ShowAsHex>
<VariableType>8 Bytes</VariableType>
<Address>itemlist1</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>