Page 1 of 1

GRID (2019)

Posted: Tue Oct 08, 2019 6:12 pm
by m01s33nk0
GRID_DX12.CT
Money
(2.76 KiB) Downloaded 1057 times
For good start...

Re: GRID (2019)

Posted: Wed Oct 09, 2019 1:02 am
by rambo99jose
I'm working on DX11 version (because Reshade doesnt work on dx12).

Figured out how to modify level and it can't be done directly. Modify the two scripts below for DX12 if you wish.; one adds exp, the other subtracts exp. It will update after you finish a race and get to the xp add screen.

I will probably release my DX11 table tomorrow after it's simpler to use.
Add XP

Code: Select all

{ Game   : Grid.exe
  Version: 
  Date   : 2019-10-08
  Author :rambo99jose

  Add xp after completing a race
}

[ENABLE]

aobscanmodule(add_xp,Grid.exe,01 41 1C 33 C0) // should be unique
alloc(newmem,$1000,"Grid.exe"+18B45F)

label(code)
label(return)

newmem:
  add eax,(int)90000

code:
  add [rcx+1C],eax
  xor eax,eax
  jmp return

add_xp:
  jmp newmem
return:
registersymbol(add_xp)

[DISABLE]

add_xp:
  db 01 41 1C 33 C0

unregistersymbol(add_xp)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Grid.exe"+18B45F

"Grid.exe"+18B44B: CC                    -  int 3 
"Grid.exe"+18B44C: CC                    -  int 3 
"Grid.exe"+18B44D: CC                    -  int 3 
"Grid.exe"+18B44E: CC                    -  int 3 
"Grid.exe"+18B44F: CC                    -  int 3 
"Grid.exe"+18B450: 8B 41 14              -  mov eax,[rcx+14]
"Grid.exe"+18B453: 03 41 10              -  add eax,[rcx+10]
"Grid.exe"+18B456: 03 41 0C              -  add eax,[rcx+0C]
"Grid.exe"+18B459: 03 41 08              -  add eax,[rcx+08]
"Grid.exe"+18B45C: 03 41 18              -  add eax,[rcx+18]
// ---------- INJECTING HERE ----------
"Grid.exe"+18B45F: 01 41 1C              -  add [rcx+1C],eax
"Grid.exe"+18B462: 33 C0                 -  xor eax,eax
// ---------- DONE INJECTING  ----------
"Grid.exe"+18B464: 48 89 41 08           -  mov [rcx+08],rax
"Grid.exe"+18B468: 48 89 41 10           -  mov [rcx+10],rax
"Grid.exe"+18B46C: 89 41 18              -  mov [rcx+18],eax
"Grid.exe"+18B46F: C3                    -  ret 
"Grid.exe"+18B470: 8B 41 1C              -  mov eax,[rcx+1C]
"Grid.exe"+18B473: 03 41 14              -  add eax,[rcx+14]
"Grid.exe"+18B476: 03 41 10              -  add eax,[rcx+10]
"Grid.exe"+18B479: 03 41 08              -  add eax,[rcx+08]
"Grid.exe"+18B47C: C3                    -  ret 
"Grid.exe"+18B47D: CC                    -  int 3 
}
Subtract xp

Code: Select all

{ Game   : Grid.exe
  Version: 
  Date   : 2019-10-08
  Author :rambo99jose

  Subtract xp after a race
}

[ENABLE]

aobscanmodule(add_xp,Grid.exe,01 41 1C 33 C0) // should be unique
alloc(newmem,$1000,"Grid.exe"+18B45F)

label(code)
label(return)

newmem:
  sub eax,(int)90000

code:
  add [rcx+1C],eax
  xor eax,eax
  jmp return

add_xp:
  jmp newmem
return:
registersymbol(add_xp)

[DISABLE]

add_xp:
  db 01 41 1C 33 C0

unregistersymbol(add_xp)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Grid.exe"+18B45F

"Grid.exe"+18B44B: CC                    -  int 3 
"Grid.exe"+18B44C: CC                    -  int 3 
"Grid.exe"+18B44D: CC                    -  int 3 
"Grid.exe"+18B44E: CC                    -  int 3 
"Grid.exe"+18B44F: CC                    -  int 3 
"Grid.exe"+18B450: 8B 41 14              -  mov eax,[rcx+14]
"Grid.exe"+18B453: 03 41 10              -  add eax,[rcx+10]
"Grid.exe"+18B456: 03 41 0C              -  add eax,[rcx+0C]
"Grid.exe"+18B459: 03 41 08              -  add eax,[rcx+08]
"Grid.exe"+18B45C: 03 41 18              -  add eax,[rcx+18]
// ---------- INJECTING HERE ----------
"Grid.exe"+18B45F: 01 41 1C              -  add [rcx+1C],eax
"Grid.exe"+18B462: 33 C0                 -  xor eax,eax
// ---------- DONE INJECTING  ----------
"Grid.exe"+18B464: 48 89 41 08           -  mov [rcx+08],rax
"Grid.exe"+18B468: 48 89 41 10           -  mov [rcx+10],rax
"Grid.exe"+18B46C: 89 41 18              -  mov [rcx+18],eax
"Grid.exe"+18B46F: C3                    -  ret 
"Grid.exe"+18B470: 8B 41 1C              -  mov eax,[rcx+1C]
"Grid.exe"+18B473: 03 41 14              -  add eax,[rcx+14]
"Grid.exe"+18B476: 03 41 10              -  add eax,[rcx+10]
"Grid.exe"+18B479: 03 41 08              -  add eax,[rcx+08]
"Grid.exe"+18B47C: C3                    -  ret 
"Grid.exe"+18B47D: CC                    -  int 3 
}


Infinite money for DX11 version
Spoiler

Code: Select all

{ Game   : Grid.exe
  Version: 
  Date   : 2019-10-08
  Author : rambo99jose

  Infinite Money
}

[ENABLE]

aobscanmodule(Money,Grid.exe,48 63 86 A8 00 00 00) // should be unique
alloc(newmem,$1000,"Grid.exe"+363E76)

label(code)
label(return)

newmem:
  mov dword ptr [rsi+0000000A8], (int)999999999

code:
  movsxd  rax,dword ptr [rsi+000000A8]
  jmp return

Money:
  jmp newmem
  nop 2
return:
registersymbol(Money)

[DISABLE]

Money:
  db 48 63 86 A8 00 00 00

unregistersymbol(Money)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Grid.exe"+363E76

"Grid.exe"+363E4A: 0F B7 41 32              -  movzx eax,word ptr [rcx+32]
"Grid.exe"+363E4E: 4D 8D 43 08              -  lea r8,[r11+08]
"Grid.exe"+363E52: 49 89 5B 10              -  mov [r11+10],rbx
"Grid.exe"+363E56: 49 8D 53 88              -  lea rdx,[r11-78]
"Grid.exe"+363E5A: 66 41 89 43 08           -  mov [r11+08],ax
"Grid.exe"+363E5F: 49 89 73 C8              -  mov [r11-38],rsi
"Grid.exe"+363E63: E8 98 DE 0C 00           -  call Grid.exe+431D00
"Grid.exe"+363E68: 48 8B 74 24 28           -  mov rsi,[rsp+28]
"Grid.exe"+363E6D: 48 85 F6                 -  test rsi,rsi
"Grid.exe"+363E70: 0F 84 CB 00 00 00        -  je Grid.exe+363F41
// ---------- INJECTING HERE ----------
"Grid.exe"+363E76: 48 63 86 A8 00 00 00     -  movsxd  rax,dword ptr [rsi+000000A8]
// ---------- DONE INJECTING  ----------
"Grid.exe"+363E7D: 49 8D 8F 08 02 00 00     -  lea rcx,[r15+00000208]
"Grid.exe"+363E84: 4D 8B C5                 -  mov r8,r13
"Grid.exe"+363E87: 48 89 84 24 B0 00 00 00  -  mov [rsp+000000B0],rax
"Grid.exe"+363E8F: 48 8D 94 24 A0 00 00 00  -  lea rdx,[rsp+000000A0]
"Grid.exe"+363E97: E8 D4 A6 E4 FF           -  call Grid.exe+1AE570
"Grid.exe"+363E9C: 48 8B 9C 24 A0 00 00 00  -  mov rbx,[rsp+000000A0]
"Grid.exe"+363EA4: 49 3B 9F 30 02 00 00     -  cmp rbx,[r15+00000230]
"Grid.exe"+363EAB: 74 25                    -  je Grid.exe+363ED2
"Grid.exe"+363EAD: 48 8B 4B 20              -  mov rcx,[rbx+20]
"Grid.exe"+363EB1: 48 8B 01                 -  mov rax,[rcx]
}

Re: GRID (2019)

Posted: Wed Oct 09, 2019 7:18 am
by James Shane
rambo99jose wrote:
Wed Oct 09, 2019 1:02 am
I'm working on DX11 version (because Reshade doesnt work on dx12).

Figured out how to modify level and it can't be done directly. Modify the two scripts below for DX12 if you wish.; one adds exp, the other subtracts exp. It will update after you finish a race and get to the xp add screen.

I will probably release my DX11 table tomorrow after it's simpler to use.
Add XP

Code: Select all

{ Game   : Grid.exe
  Version: 
  Date   : 2019-10-08
  Author :rambo99jose

  Add xp after completing a race
}

[ENABLE]

aobscanmodule(add_xp,Grid.exe,01 41 1C 33 C0) // should be unique
alloc(newmem,$1000,"Grid.exe"+18B45F)

label(code)
label(return)

newmem:
  add eax,(int)90000

code:
  add [rcx+1C],eax
  xor eax,eax
  jmp return

add_xp:
  jmp newmem
return:
registersymbol(add_xp)

[DISABLE]

add_xp:
  db 01 41 1C 33 C0

unregistersymbol(add_xp)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Grid.exe"+18B45F

"Grid.exe"+18B44B: CC                    -  int 3 
"Grid.exe"+18B44C: CC                    -  int 3 
"Grid.exe"+18B44D: CC                    -  int 3 
"Grid.exe"+18B44E: CC                    -  int 3 
"Grid.exe"+18B44F: CC                    -  int 3 
"Grid.exe"+18B450: 8B 41 14              -  mov eax,[rcx+14]
"Grid.exe"+18B453: 03 41 10              -  add eax,[rcx+10]
"Grid.exe"+18B456: 03 41 0C              -  add eax,[rcx+0C]
"Grid.exe"+18B459: 03 41 08              -  add eax,[rcx+08]
"Grid.exe"+18B45C: 03 41 18              -  add eax,[rcx+18]
// ---------- INJECTING HERE ----------
"Grid.exe"+18B45F: 01 41 1C              -  add [rcx+1C],eax
"Grid.exe"+18B462: 33 C0                 -  xor eax,eax
// ---------- DONE INJECTING  ----------
"Grid.exe"+18B464: 48 89 41 08           -  mov [rcx+08],rax
"Grid.exe"+18B468: 48 89 41 10           -  mov [rcx+10],rax
"Grid.exe"+18B46C: 89 41 18              -  mov [rcx+18],eax
"Grid.exe"+18B46F: C3                    -  ret 
"Grid.exe"+18B470: 8B 41 1C              -  mov eax,[rcx+1C]
"Grid.exe"+18B473: 03 41 14              -  add eax,[rcx+14]
"Grid.exe"+18B476: 03 41 10              -  add eax,[rcx+10]
"Grid.exe"+18B479: 03 41 08              -  add eax,[rcx+08]
"Grid.exe"+18B47C: C3                    -  ret 
"Grid.exe"+18B47D: CC                    -  int 3 
}
Subtract xp

Code: Select all

{ Game   : Grid.exe
  Version: 
  Date   : 2019-10-08
  Author :rambo99jose

  Subtract xp after a race
}

[ENABLE]

aobscanmodule(add_xp,Grid.exe,01 41 1C 33 C0) // should be unique
alloc(newmem,$1000,"Grid.exe"+18B45F)

label(code)
label(return)

newmem:
  sub eax,(int)90000

code:
  add [rcx+1C],eax
  xor eax,eax
  jmp return

add_xp:
  jmp newmem
return:
registersymbol(add_xp)

[DISABLE]

add_xp:
  db 01 41 1C 33 C0

unregistersymbol(add_xp)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Grid.exe"+18B45F

"Grid.exe"+18B44B: CC                    -  int 3 
"Grid.exe"+18B44C: CC                    -  int 3 
"Grid.exe"+18B44D: CC                    -  int 3 
"Grid.exe"+18B44E: CC                    -  int 3 
"Grid.exe"+18B44F: CC                    -  int 3 
"Grid.exe"+18B450: 8B 41 14              -  mov eax,[rcx+14]
"Grid.exe"+18B453: 03 41 10              -  add eax,[rcx+10]
"Grid.exe"+18B456: 03 41 0C              -  add eax,[rcx+0C]
"Grid.exe"+18B459: 03 41 08              -  add eax,[rcx+08]
"Grid.exe"+18B45C: 03 41 18              -  add eax,[rcx+18]
// ---------- INJECTING HERE ----------
"Grid.exe"+18B45F: 01 41 1C              -  add [rcx+1C],eax
"Grid.exe"+18B462: 33 C0                 -  xor eax,eax
// ---------- DONE INJECTING  ----------
"Grid.exe"+18B464: 48 89 41 08           -  mov [rcx+08],rax
"Grid.exe"+18B468: 48 89 41 10           -  mov [rcx+10],rax
"Grid.exe"+18B46C: 89 41 18              -  mov [rcx+18],eax
"Grid.exe"+18B46F: C3                    -  ret 
"Grid.exe"+18B470: 8B 41 1C              -  mov eax,[rcx+1C]
"Grid.exe"+18B473: 03 41 14              -  add eax,[rcx+14]
"Grid.exe"+18B476: 03 41 10              -  add eax,[rcx+10]
"Grid.exe"+18B479: 03 41 08              -  add eax,[rcx+08]
"Grid.exe"+18B47C: C3                    -  ret 
"Grid.exe"+18B47D: CC                    -  int 3 
}


Infinite money for DX11 version
Spoiler

Code: Select all

{ Game   : Grid.exe
  Version: 
  Date   : 2019-10-08
  Author : rambo99jose

  Infinite Money
}

[ENABLE]

aobscanmodule(Money,Grid.exe,48 63 86 A8 00 00 00) // should be unique
alloc(newmem,$1000,"Grid.exe"+363E76)

label(code)
label(return)

newmem:
  mov dword ptr [rsi+0000000A8], (int)999999999

code:
  movsxd  rax,dword ptr [rsi+000000A8]
  jmp return

Money:
  jmp newmem
  nop 2
return:
registersymbol(Money)

[DISABLE]

Money:
  db 48 63 86 A8 00 00 00

unregistersymbol(Money)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Grid.exe"+363E76

"Grid.exe"+363E4A: 0F B7 41 32              -  movzx eax,word ptr [rcx+32]
"Grid.exe"+363E4E: 4D 8D 43 08              -  lea r8,[r11+08]
"Grid.exe"+363E52: 49 89 5B 10              -  mov [r11+10],rbx
"Grid.exe"+363E56: 49 8D 53 88              -  lea rdx,[r11-78]
"Grid.exe"+363E5A: 66 41 89 43 08           -  mov [r11+08],ax
"Grid.exe"+363E5F: 49 89 73 C8              -  mov [r11-38],rsi
"Grid.exe"+363E63: E8 98 DE 0C 00           -  call Grid.exe+431D00
"Grid.exe"+363E68: 48 8B 74 24 28           -  mov rsi,[rsp+28]
"Grid.exe"+363E6D: 48 85 F6                 -  test rsi,rsi
"Grid.exe"+363E70: 0F 84 CB 00 00 00        -  je Grid.exe+363F41
// ---------- INJECTING HERE ----------
"Grid.exe"+363E76: 48 63 86 A8 00 00 00     -  movsxd  rax,dword ptr [rsi+000000A8]
// ---------- DONE INJECTING  ----------
"Grid.exe"+363E7D: 49 8D 8F 08 02 00 00     -  lea rcx,[r15+00000208]
"Grid.exe"+363E84: 4D 8B C5                 -  mov r8,r13
"Grid.exe"+363E87: 48 89 84 24 B0 00 00 00  -  mov [rsp+000000B0],rax
"Grid.exe"+363E8F: 48 8D 94 24 A0 00 00 00  -  lea rdx,[rsp+000000A0]
"Grid.exe"+363E97: E8 D4 A6 E4 FF           -  call Grid.exe+1AE570
"Grid.exe"+363E9C: 48 8B 9C 24 A0 00 00 00  -  mov rbx,[rsp+000000A0]
"Grid.exe"+363EA4: 49 3B 9F 30 02 00 00     -  cmp rbx,[r15+00000230]
"Grid.exe"+363EAB: 74 25                    -  je Grid.exe+363ED2
"Grid.exe"+363EAD: 48 8B 4B 20              -  mov rcx,[rbx+20]
"Grid.exe"+363EB1: 48 8B 01                 -  mov rax,[rcx]
}
Add Exp works but the Team mates are still locked for lower. After adding Exp to my game I am 55 but new teammates are still locked.

Re: GRID (2019)

Posted: Wed Oct 09, 2019 7:42 am
by Samratpanda20
can you add freeze timer and opponent option

Re: GRID (2019)

Posted: Thu Oct 10, 2019 6:53 pm
by EddyB229
Yeah. add freeze time and opponent.

Re: GRID (2019)

Posted: Fri Oct 11, 2019 7:16 am
by rambo99jose
EddyB229 wrote:
Thu Oct 10, 2019 6:53 pm
Yeah. add freeze time and opponent.
Not having any luck finding timer

Re: GRID (2019)

Posted: Sat Oct 12, 2019 7:47 am
by rambo99jose
Game Version: season 3
Table Last Update: 20210914_v0.3

.:|FEATURES|:.
  • Money Pointer (go to player profile > garage to update address)
  • XP Pointer (go to player profile to update address)
.:|Notes|:.
  • This works for DX11 and DX12, the AOB's are the same just had to change process exe
  • I will only be updating if it stops working (PM me)
  • Not adding any more features (looked for AI freeze + Time freeze long ago but couldn't find)
PS: Use/modify my scripts in your tables if you wish

Re: GRID (2019)

Posted: Thu Dec 28, 2023 8:55 am
by MzK47
Thanks man.