Here, this should be infinite items (works for Health Infusion at least):
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>47</ID>
<Description>"--aobInvItemCalc"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>// Game : RAGE2.exe
// Version:
// Date :
// Author : Cs
[ENABLE]
aobscanmodule(aobInvItemCalc,RAGE2.exe,41 8B F0 4C 8B E9 4C 8B 48 30 49 8B C1)
alloc(newmemInvItemCalc,4096,aobInvItemCalc)
label(aobInvItemCalc_r)
label(aobInvItemCalc_i)
registersymbol(aobInvItemCalc_r)
registersymbol(aobInvItemCalc_i)
label(lblInvItemCalc)
label(lblInvItemCalcSkip)
label(lblInvItemCalcRet)
label(bEnableInfiniteItems)
registersymbol(bEnableInfiniteItems)
newmemInvItemCalc:
bEnableInfiniteItems:
dd 1
lblInvItemCalc:
cmp r8d,0
jge short lblInvItemCalcSkip
mov rsi,[g_Player]
lea rsi,[rsi+00000CD8]
cmp qword ptr [rsi],rcx
jne short lblInvItemCalcSkip
cmp dword ptr [bEnableInfiniteItems],1
jne short lblInvItemCalcSkip
xor r8,r8
lblInvItemCalcSkip:
//Alt: mov esi,r8d
//Alt: mov r13,rcx
//db 41 8B F0 4C 8B E9
readmem(aobInvItemCalc,6)
jmp lblInvItemCalcRet
aobInvItemCalc_i:
readmem(aobInvItemCalc,6)
//"RAGE2.exe"+73F712:
aobInvItemCalc:
aobInvItemCalc_r:
jmp lblInvItemCalc
nop
lblInvItemCalcRet:
[DISABLE]
//"RAGE2.exe"+73F712:
//Alt: mov esi,r8d
//Alt: mov r13,rcx
//db 41 8B F0 4C 8B E9
aobInvItemCalc_r:
readmem(aobInvItemCalc_i,6)
unregistersymbol(aobInvItemCalc_r)
unregistersymbol(aobInvItemCalc_i)
unregistersymbol(bEnableInfiniteItems)
dealloc(newmemInvItemCalc)
{
// ORIGINAL CODE - INJECTION POINT: "RAGE2.exe"+73F712
"RAGE2.exe"+73F6F4: 48 83 C4 48 - add rsp,48
"RAGE2.exe"+73F6F8: C3 - ret
"RAGE2.exe"+73F6F9: FF D2 - call rdx
"RAGE2.exe"+73F6FB: 48 83 C4 48 - add rsp,48
"RAGE2.exe"+73F6FF: C3 - ret
"RAGE2.exe"+73F700: 89 54 24 10 - mov [rsp+10],edx
"RAGE2.exe"+73F704: 56 - push rsi
"RAGE2.exe"+73F705: 41 55 - push r13
"RAGE2.exe"+73F707: 48 83 EC 58 - sub rsp,58
"RAGE2.exe"+73F70B: 48 8B 05 7E D3 92 02 - mov rax,[RAGE2.exe+306CA90]
// ---------- INJECTING HERE ----------
"RAGE2.exe"+73F712: 41 8B F0 - mov esi,r8d
"RAGE2.exe"+73F715: 4C 8B E9 - mov r13,rcx
// ---------- DONE INJECTING ----------
"RAGE2.exe"+73F718: 4C 8B 48 30 - mov r9,[rax+30]
"RAGE2.exe"+73F71C: 49 8B C1 - mov rax,r9
"RAGE2.exe"+73F71F: 4D 8B 41 08 - mov r8,[r9+08]
"RAGE2.exe"+73F723: 41 80 78 19 00 - cmp byte ptr [r8+19],00
"RAGE2.exe"+73F728: 75 29 - jne RAGE2.exe+73F753
"RAGE2.exe"+73F72A: 66 0F 1F 44 00 00 - nop [rax+rax+00]
"RAGE2.exe"+73F730: 41 39 50 20 - cmp [r8+20],edx
"RAGE2.exe"+73F734: 73 06 - jae RAGE2.exe+73F73C
"RAGE2.exe"+73F736: 4D 8B 40 10 - mov r8,[r8+10]
"RAGE2.exe"+73F73A: EB 06 - jmp RAGE2.exe+73F742
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>48</ID>
<Description>"bEnableInfiniteItems"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled
1:Enabled
</DropDownList>
<Color>008000</Color>
<VariableType>4 Bytes</VariableType>
<Address>bEnableInfiniteItems</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
Note: requires SunBeam's player grabber code enabled.
And here's Max Overdrive (so you can re-enable instantly):
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>50</ID>
<Description>"--aobOverdriveTester"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>// Game : RAGE2.exe
// Version:
// Date :
// Author : Cs
[ENABLE]
aobscanmodule(aobOverdriveTester,RAGE2.exe,0F 2F BF ?? ?? 00 00 77 ?? F3 0F)
alloc(newmemOverdriveTester,4096,aobOverdriveTester)
label(aobOverdriveTester_r)
label(aobOverdriveTester_i)
registersymbol(aobOverdriveTester_r)
registersymbol(aobOverdriveTester_i)
label(lblOverdriveTester)
label(lblOverdriveTesterSkip)
label(lblOverdriveTesterRet)
label(bEnableMaxOverdrive)
registersymbol(bEnableMaxOverdrive)
newmemOverdriveTester:
bEnableMaxOverdrive:
dd 1
lblOverdriveTester:
cmp dword ptr [bEnableMaxOverdrive],1
jne short lblOverdriveTesterSkip
push rax
movsxd rax,[aobOverdriveTester_i+03]
movss [rax+rdi],xmm7
pop rax
lblOverdriveTesterSkip:
//Alt: comiss xmm7,[rdi+00000D90]
//db 0F 2F BF 90 0D 00 00
readmem(aobOverdriveTester,7)
jmp lblOverdriveTesterRet
aobOverdriveTester_i:
readmem(aobOverdriveTester,7)
//"RAGE2.exe"+9B4B77:
aobOverdriveTester:
aobOverdriveTester_r:
jmp lblOverdriveTester
nop
nop
lblOverdriveTesterRet:
[DISABLE]
//"RAGE2.exe"+9B4B77:
//Alt: comiss xmm7,[rdi+00000D90]
//db 0F 2F BF 90 0D 00 00
aobOverdriveTester_r:
readmem(aobOverdriveTester_i,7)
unregistersymbol(aobOverdriveTester_r)
unregistersymbol(aobOverdriveTester_i)
unregistersymbol(bEnableMaxOverdrive)
dealloc(newmemOverdriveTester)
{
// ORIGINAL CODE - INJECTION POINT: "RAGE2.exe"+9B4B77
"RAGE2.exe"+9B4B50: 48 8B 01 - mov rax,[rcx]
"RAGE2.exe"+9B4B53: 81 78 04 3C A3 B0 35 - cmp [rax+04],35B0A33C
"RAGE2.exe"+9B4B5A: 74 70 - je RAGE2.exe+9B4BCC
"RAGE2.exe"+9B4B5C: 48 83 C1 30 - add rcx,30
"RAGE2.exe"+9B4B60: 48 3B CA - cmp rcx,rdx
"RAGE2.exe"+9B4B63: 75 EB - jne RAGE2.exe+9B4B50
"RAGE2.exe"+9B4B65: 44 38 A7 95 0D 00 00 - cmp [rdi+00000D95],r12l
"RAGE2.exe"+9B4B6C: 74 5E - je RAGE2.exe+9B4BCC
"RAGE2.exe"+9B4B6E: 44 38 A7 94 0D 00 00 - cmp [rdi+00000D94],r12l
"RAGE2.exe"+9B4B75: 74 55 - je RAGE2.exe+9B4BCC
// ---------- INJECTING HERE ----------
"RAGE2.exe"+9B4B77: 0F 2F BF 90 0D 00 00 - comiss xmm7,[rdi+00000D90]
// ---------- DONE INJECTING ----------
"RAGE2.exe"+9B4B7E: 77 4C - ja RAGE2.exe+9B4BCC
"RAGE2.exe"+9B4B80: F3 0F 58 76 64 - addss xmm6,dword ptr [rsi+64]
"RAGE2.exe"+9B4B85: F3 0F 11 76 64 - movss [rsi+64],xmm6
"RAGE2.exe"+9B4B8A: 0F 2F 35 5F D9 D7 01 - comiss xmm6,[RAGE2.exe+27324F0]
"RAGE2.exe"+9B4B91: 76 39 - jna RAGE2.exe+9B4BCC
"RAGE2.exe"+9B4B93: 44 89 66 64 - mov [rsi+64],r12d
"RAGE2.exe"+9B4B97: 4C 39 25 A2 80 6B 02 - cmp [RAGE2.exe+306CC40],r12
"RAGE2.exe"+9B4B9E: 74 2C - je RAGE2.exe+9B4BCC
"RAGE2.exe"+9B4BA0: 48 8D 8F 30 2A 00 00 - lea rcx,[rdi+00002A30]
"RAGE2.exe"+9B4BA7: 0F 57 C0 - xorps xmm0,xmm0
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>51</ID>
<Description>"bEnableMaxOverdrive"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Disabled
1:Enabled
</DropDownList>
<Color>008000</Color>
<VariableType>4 Bytes</VariableType>
<Address>bEnableMaxOverdrive</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
PC.
The game so far seems to be a major disappointment.
I'll keep playing with it a bit more, but don't get made if I just ditch it