Kill Combo Multiplier
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>2786</ID>
<Description>"KillCombo"</Description>
<Options moHideChildren="1"/>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(_KillCombo,RAGE2.exe,66 0F 6E 46 58)
aobscanmodule(_KillComboMulti,RAGE2.exe,89 47 58 83 F8 0A)
alloc(KillComboMem,$1000,RAGE2.exe)
alloc(_pKillCombo,8)
alloc(_enableKillComboMultiplier,8)
registersymbol(_enableKillComboMultiplier)
registersymbol(_KillComboMulti)
registersymbol(_pKillCombo)
registersymbol(_KillCombo)
KillComboMem:
mov [_pKillCombo],rsi
code:
movd xmm0,[rsi+58]
jmp return
KillComboMultiMem:
cmp [_enableKillComboMultiplier],0
je codeKillComboMulti
cmp [_enableKillComboMultiplier],1
je Combo_X2
cmp [_enableKillComboMultiplier],2
je Combo_X4
cmp [_enableKillComboMultiplier],3
je Combo_X8
cmp [_enableKillComboMultiplier],4
je Combo_X16
Combo_X2:
add [rdi+58],#2
cmp eax,0A
jmp returnKillComboMulti
Combo_X4:
add [rdi+58],#4
cmp eax,0A
jmp returnKillComboMulti
Combo_X8:
add [rdi+58],#8
cmp eax,0A
jmp returnKillComboMulti
Combo_X16:
add [rdi+58],#16
cmp eax,0A
jmp returnKillComboMulti
codeKillComboMulti:
mov [rdi+58],eax
cmp eax,0A
jmp returnKillComboMulti
_KillCombo:
jmp KillComboMem
return:
_KillComboMulti:
jmp KillComboMultiMem
nop
returnKillComboMulti:
_pKillCombo:
dd 0
_enableKillComboMultiplier:
dd 0
[DISABLE]
_KillCombo:
db 66 0F 6E 46 58
_KillComboMulti:
db 89 47 58 83 F8 0A
unregistersymbol(_KillCombo)
unregistersymbol(_pKillCombo)
unregistersymbol(_KillComboMulti)
unregistersymbol(_enableKillComboMultiplier)
dealloc(_enableKillComboMultiplier)
dealloc(_pKillCombo)
dealloc(KillComboMem)
{
// ORIGINAL CODE - INJECTION POINT: "RAGE2.exe"+9B4C49
"RAGE2.exe"+9B4C19: 4C 8B 4D 7F - mov r9,[rbp+7F]
"RAGE2.exe"+9B4C1D: 4C 8B 45 D7 - mov r8,[rbp-29]
"RAGE2.exe"+9B4C21: B9 B3 EC F5 B7 - mov ecx,B7F5ECB3
"RAGE2.exe"+9B4C26: E8 B5 3D 81 FF - call RAGE2.exe+1C89E0
"RAGE2.exe"+9B4C2B: F3 0F 10 46 48 - movss xmm0,[rsi+48]
"RAGE2.exe"+9B4C30: F3 0F 58 46 3C - addss xmm0,dword ptr [rsi+3C]
"RAGE2.exe"+9B4C35: F3 0F 11 45 67 - movss [rbp+67],xmm0
"RAGE2.exe"+9B4C3A: C6 45 6B 02 - mov byte ptr [rbp+6B],02
"RAGE2.exe"+9B4C3E: C7 45 77 35 72 97 AE - mov [rbp+77],AE977235
"RAGE2.exe"+9B4C45: C6 45 7B 03 - mov byte ptr [rbp+7B],03
// ---------- INJECTING HERE ----------
"RAGE2.exe"+9B4C49: 66 0F 6E 46 58 - movd xmm0,[rsi+58]
// ---------- DONE INJECTING ----------
"RAGE2.exe"+9B4C4E: 0F 5B C0 - cvtdq2ps xmm0,xmm0
"RAGE2.exe"+9B4C51: F3 0F 11 45 7F - movss [rbp+7F],xmm0
"RAGE2.exe"+9B4C56: C6 85 83 00 00 00 02 - mov byte ptr [rbp+00000083],02
"RAGE2.exe"+9B4C5D: C7 45 D7 DA 16 B2 B1 - mov [rbp-29],B1B216DA
"RAGE2.exe"+9B4C64: C6 45 DB 03 - mov byte ptr [rbp-25],03
"RAGE2.exe"+9B4C68: 44 89 64 24 38 - mov [rsp+38],r12d
"RAGE2.exe"+9B4C6D: 44 89 64 24 30 - mov [rsp+30],r12d
"RAGE2.exe"+9B4C72: 48 8B 45 67 - mov rax,[rbp+67]
"RAGE2.exe"+9B4C76: 48 89 44 24 28 - mov [rsp+28],rax
"RAGE2.exe"+9B4C7B: 48 8B 45 77 - mov rax,[rbp+77]
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>2787</ID>
<Description>"Kill Combo"</Description>
<LastState Value="7" RealAddress="1E5FAFAA478"/>
<VariableType>4 Bytes</VariableType>
<Address>_pKillCombo</Address>
<Offsets>
<Offset>58</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>2789</ID>
<Description>"Kill Combo Multiplier"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Default
1:Kill Combo X2
2:Kill Combo X4
3:Kill Combo X8
4:Kill Combo X16
</DropDownList>
<LastState Value="2" RealAddress="7FF7F2AA1008"/>
<VariableType>Byte</VariableType>
<Address>_enableKillComboMultiplier</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
Overdrive Mod
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>2799</ID>
<Description>"OverdriveMod"</Description>
<Options moHideChildren="1"/>
<LastState Activated="1"/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobscanmodule(_OverdriveMultiplier,RAGE2.exe,0F 11 02 0F 10 45 27)
aobscanmodule(_OverdriveTimerBase,RAGE2.exe,F3 41 0F 10 48 0C 41)
alloc(OverdriveMultiplierMem,$1000,RAGE2.exe)
alloc(_OverDriveMultiplierVar,8)
alloc(_pOverdriveTimer,8)
registersymbol(_pOverdriveTimer)
registersymbol(_OverdriveTimerBase)
registersymbol(_OverDriveMultiplierVar)
registersymbol(_OverdriveMultiplier)
OverdriveMultiplierMem:
codeOverdriveMultiplier:
movups [rdx],xmm0
movups xmm0,[rbp+27]
cmp rdx,[_pOverdriveTimer]
jne returnOverdriveMultiplier
fld [rdx+C]
fld [_OverDriveMultiplierVar]
faddp
fstp [rdx+C]
jmp returnOverdriveMultiplier
OverdriveTimerBaseMem:
mov [_pOverdriveTimer],r8
codeOverdriveTimerBase:
movss xmm1,[r8+0C]
jmp returnOverdriveTimerBase
_OverdriveMultiplier:
jmp OverdriveMultiplierMem
nop
nop
returnOverdriveMultiplier:
_OverdriveTimerBase:
jmp OverdriveTimerBaseMem
nop
returnOverdriveTimerBase:
_OverDriveMultiplierVar:
dd (float)0
_pOverdriveTimer:
dd 0
[DISABLE]
_OverdriveMultiplier:
db 0F 11 02 0F 10 45 27
_OverdriveTimerBase:
db F3 41 0F 10 48 0C
unregistersymbol(_OverdriveMultiplier)
unregistersymbol(_OverDriveMultiplierVar)
unregistersymbol(_OverdriveTimerBase)
unregistersymbol(_pOverdriveTimer)
dealloc(_pOverdriveTimer)
dealloc(_OverDriveMultiplierVar)
dealloc(OverdriveMultiplierMem)
{
// ORIGINAL CODE - INJECTION POINT: "RAGE2.exe"+66A38F
"RAGE2.exe"+66A367: C7 44 24 20 1F 00 00 00 - mov [rsp+20],0000001F
"RAGE2.exe"+66A36F: 45 33 C9 - xor r9d,r9d
"RAGE2.exe"+66A372: 45 33 C0 - xor r8d,r8d
"RAGE2.exe"+66A375: 49 8B D3 - mov rdx,r11
"RAGE2.exe"+66A378: E8 73 2D CC FF - call RAGE2.exe+32D0F0
"RAGE2.exe"+66A37D: 48 8B 53 18 - mov rdx,[rbx+18]
"RAGE2.exe"+66A381: 48 39 53 20 - cmp [rbx+20],rdx
"RAGE2.exe"+66A385: 74 1E - je RAGE2.exe+66A3A5
"RAGE2.exe"+66A387: 0F 10 45 07 - movups xmm0,[rbp+07]
"RAGE2.exe"+66A38B: 0F 10 4D 17 - movups xmm1,[rbp+17]
// ---------- INJECTING HERE ----------
"RAGE2.exe"+66A38F: 0F 11 02 - movups [rdx],xmm0
"RAGE2.exe"+66A392: 0F 10 45 27 - movups xmm0,[rbp+27]
// ---------- DONE INJECTING ----------
"RAGE2.exe"+66A396: 0F 11 4A 10 - movups [rdx+10],xmm1
"RAGE2.exe"+66A39A: 0F 11 42 20 - movups [rdx+20],xmm0
"RAGE2.exe"+66A39E: 48 83 43 18 30 - add qword ptr [rbx+18],30
"RAGE2.exe"+66A3A3: EB 0D - jmp RAGE2.exe+66A3B2
"RAGE2.exe"+66A3A5: 4C 8D 45 07 - lea r8,[rbp+07]
"RAGE2.exe"+66A3A9: 48 8D 4B 10 - lea rcx,[rbx+10]
"RAGE2.exe"+66A3AD: E8 1E DF A5 FF - call RAGE2.exe+C82D0
"RAGE2.exe"+66A3B2: 48 8B B4 24 A0 00 00 00 - mov rsi,[rsp+000000A0]
"RAGE2.exe"+66A3BA: 0F 28 7C 24 70 - movaps xmm7,[rsp+70]
"RAGE2.exe"+66A3BF: 4C 8D 9C 24 90 00 00 00 - lea r11,[rsp+00000090]
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>2800</ID>
<Description>"Overdrive Multiplier"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Default (10s)
10:Overdrive x2 (20s)
30:Overdrive x4 (40s)
50:Overdrive x6 (60s)
70:Overdrive x8 (80s)
110:Overdrive x12 (120s)
150:Overdrive x16 (160s)
</DropDownList>
<LastState Value="150" RealAddress="7FF7F2AB1000"/>
<VariableType>Float</VariableType>
<Address>_OverDriveMultiplierVar</Address>
</CheatEntry>
<CheatEntry>
<ID>2804</ID>
<Description>"Overdrive Timer"</Description>
<LastState Value="159.5332336" RealAddress="20A78A31C9C"/>
<VariableType>Float</VariableType>
<Address>_pOverdriveTimer</Address>
<Offsets>
<Offset>C</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
Unlock All Vehicles
Code: Select all
[ENABLE]
aobscanmodule(_AllCarsAvailable,RAGE2.exe,A6 07 00 80 BF 01 0D 00 00 00) // should be unique
alloc(newmem,$1000,"RAGE2.exe"+B1CB08)
label(code)
label(return)
newmem:
mov byte ptr [rdi+00000D01],00
code:
cmp byte ptr [rdi+00000D01],00
jmp return
_AllCarsAvailable+03:
jmp newmem
nop
nop
return:
registersymbol(_AllCarsAvailable)
[DISABLE]
_AllCarsAvailable+03:
db 80 BF 01 0D 00 00 00
unregistersymbol(_AllCarsAvailable)
dealloc(newmem)
Unlock All Nanotrites
Code: Select all
[ENABLE]
aobscanmodule(_UnlockAllNanotrites,RAGE2.exe,41 0F B6 86 F9 01 00 00 84) // should be unique
alloc(newmem,$1000,"RAGE2.exe"+B13494)
label(code)
label(return)
newmem:
mov byte ptr [r14+000001F9],1
code:
movzx eax,byte ptr [r14+000001F9]
jmp return
_UnlockAllNanotrites:
jmp newmem
nop
nop
nop
return:
registersymbol(_UnlockAllNanotrites)
[DISABLE]
_UnlockAllNanotrites:
db 41 0F B6 86 F9 01 00 00
unregistersymbol(_UnlockAllNanotrites)
dealloc(newmem)