 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
lewis08 How do I cheat?
Reputation: 0
Joined: 18 Jul 2023 Posts: 8
|
Posted: Thu Jul 20, 2023 7:56 am Post subject: How to find adresses from Cheat Table? |
|
|
Hi, i have a CT which i found from Internet. I want to extract the adresses of some of the features to make a external trainer. How can i find the 4byte (int) adresses of the features of CT. For example Race-Engine Power-Engine Power Rate [Player] ?
Here is the CT in Notepad (paste it in notepad and change extension to .CT, i cannot upload CT directly since its too large)
| Code: |
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="38">
<CheatEntries>
<CheatEntry>
<ID>0</ID>
<Description>"F1 22 - Game Version 1.10+"</Description>
<Options moHideChildren="1"/>
<LastState Value="" RealAddress="00000000"/>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>161</ID>
<Description>"Career"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>0080FF</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobScanModule(PerkFundAOB,F1_22.exe, 48 8B 81 B8 02 00 00 45 33 C9)
aobScanModule(TeamMoneyAOB,F1_22.exe, 48 8B 81 98 02 00 00 45 33 C9)
aobScanModule(ResourceAOB,F1_22.exe, 48 8B 00 8B 40 04 48 8B CD)
aobScanModule(ResourceAddAOB,F1_22.exe, 48 C7 44 24 28 00 00 00 00 01 68 04)
aobScanModule(RivalryAOB,F1_22.exe, 8B 47 34 4C 8D 45 A8)
aobScanModule(DAcclaimAOB,F1_22.exe, F3 0F 5D 51 0C EB 03 0F 57 D2 48 8B CD)
aobScanModule(TAcclaimAOB,F1_22.exe, F3 0F 10 73 38 49 8B CA)
alloc(CareerMem,1024,ResourceAOB)
label(PerkFundReturn)
label(TeamMoneyReturn)
label(ResourceReturn)
label(ResourceAddReturn)
label(RivalryReturn)
label(DAcclaimReturn)
label(TAcclaimReturn)
label(PerkFundCode)
label(TeamMoneyCode)
label(ResourceCode)
label(ResourceAddCode)
label(ResourceAddCPUCode)
label(RivalryCode)
label(DAcclaimCode)
label(TAcclaimCode)
label(CareerData)
label(ResourceRate)
label(ResourceCPURate)
registersymbol(CareerData)
registersymbol(ResourceRate)
registersymbol(ResourceCPURate)
registersymbol(PerkFundAOB)
registersymbol(TeamMoneyAOB)
registersymbol(ResourceAOB)
registersymbol(ResourceAddAOB)
registersymbol(RivalryAOB)
registersymbol(DAcclaimAOB)
registersymbol(TAcclaimAOB)
CareerMem:
PerkFundCode:
mov [CareerData+10], rcx
add r9d,[rcx+10]
add rcx,58
jmp PerkFundReturn
TeamMoneyCode:
mov [CareerData], rcx
add r9d,[rcx+10]
add rcx,58
jmp TeamMoneyReturn
ResourceCode:
mov rax,[rax]
mov [CareerData+20], rax
mov eax,[rax+04]
jmp ResourceReturn
ResourceAddCode:
mov qword ptr [rsp+28],00000000
test ebp,ebp
js ResourceAddReturn
cvtsi2sd xmm0,ebp
push rdi
mov rdi,[CareerData+20]
cmp rdi,rax
jne ResourceAddCPUCode
pop rdi
mulsd xmm0,[ResourceRate]
cvtsd2si ebp,xmm0
jmp ResourceAddReturn
ResourceAddCPUCode:
pop rdi
mulsd xmm0,[ResourceCPURate]
cvtsd2si ebp,xmm0
jmp ResourceAddReturn
RivalryCode:
mov [CareerData+50], rdi
mov eax,[rdi+34]
lea r8,[rbp-58]
jmp RivalryReturn
DAcclaimCode:
minss xmm2,[rcx+0C]
mov [CareerData+30], rcx
jmp DAcclaimReturn
TAcclaimCode:
movss xmm6,[rbx+38]
mov [CareerData+40], rbx
jmp TAcclaimReturn
ResourceRate:
dq 3FF0000000000000
ResourceCPURate:
dq 3FF0000000000000
CareerData:
dd 0
PerkFundAOB+60:
jmp PerkFundCode
db 90 90 90
PerkFundReturn:
TeamMoneyAOB+60:
jmp TeamMoneyCode
db 90 90 90
TeamMoneyReturn:
ResourceAOB:
jmp ResourceCode
db 90
ResourceReturn:
ResourceAddAOB:
jmp ResourceAddCode
db 90 90 90 90
ResourceAddReturn:
RivalryAOB:
jmp RivalryCode
db 90 90
RivalryReturn:
DAcclaimAOB:
jmp DAcclaimCode
DAcclaimReturn:
TAcclaimAOB:
jmp TAcclaimCode
TAcclaimReturn:
[DISABLE]
PerkFundAOB+60:
db 44 03 49 10 48 83 C1 58
TeamMoneyAOB+60:
db 44 03 49 10 48 83 C1 58
ResourceAOB:
db 48 8B 00 8B 40 04
ResourceAddAOB:
db 48 C7 44 24 28 00 00 00 00
RivalryAOB:
db 8B 47 34 4C 8D 45 A8
DAcclaimAOB:
db F3 0F 5D 51 0C
TAcclaimAOB:
db F3 0F 10 73 38
unregistersymbol(CareerData)
unregistersymbol(ResourceRate)
unregistersymbol(ResourceCPURate)
unregistersymbol(PerkFundAOB)
unregistersymbol(TeamMoneyAOB)
unregistersymbol(ResourceAOB)
unregistersymbol(ResourceAddAOB)
unregistersymbol(RivalryAOB)
unregistersymbol(DAcclaimAOB)
unregistersymbol(TAcclaimAOB)
dealloc(CareerMem)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>175</ID>
<Description>"Note: Values will only update on Team HQ overview screen except Rivals which updates on the Rivals screen"</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>408000</Color>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>162</ID>
<Description>"Team Money"</Description>
<Color>0080FF</Color>
<VariableType>4 Bytes</VariableType>
<Address>CareerData</Address>
<Offsets>
<Offset>10</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>163</ID>
<Description>"Perk Fund (Only valid in Driver Career)"</Description>
<Color>0080FF</Color>
<VariableType>4 Bytes</VariableType>
<Address>CareerData+10</Address>
<Offsets>
<Offset>10</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>164</ID>
<Description>"Resource Points"</Description>
<Color>0080FF</Color>
<VariableType>4 Bytes</VariableType>
<Address>CareerData+20</Address>
<Offsets>
<Offset>4</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>165</ID>
<Description>"Team Acclaim"</Description>
<Color>0080FF</Color>
<VariableType>Float</VariableType>
<Address>CareerData+40</Address>
<Offsets>
<Offset>38</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>166</ID>
<Description>"Player Acclaim"</Description>
<Color>0080FF</Color>
<VariableType>Float</VariableType>
<Address>CareerData+30</Address>
<Offsets>
<Offset>30</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>167</ID>
<Description>"Resource Gain Rate [Player]"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:No Gain
0.25:25%
0.5:50%
0.75:75%
0.9:90%
0.95:95%
1:Normal Gain
1.05:105%
1.10:110%
1.15:115%
1.20:120%
1.25:125%
1.5:150%
2:Double Gain
</DropDownList>
<Color>FF0000</Color>
<VariableType>Double</VariableType>
<Address>ResourceRate</Address>
</CheatEntry>
<CheatEntry>
<ID>168</ID>
<Description>"Resource Gain Rate [Computer]"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:No Gain
0.25:25%
0.5:50%
0.75:75%
0.9:90%
0.95:95%
1:Normal Gain
1.05:105%
1.10:110%
1.15:115%
1.20:120%
1.25:125%
1.5:150%
2:Double Gain
</DropDownList>
<Color>FF0000</Color>
<VariableType>Double</VariableType>
<Address>ResourceCPURate</Address>
</CheatEntry>
<CheatEntry>
<ID>169</ID>
<Description>"Rivals (Only valid when you have a rival)"</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>0000FF</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>276</ID>
<Description>"Rival"</Description>
<DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">07:Lewis Hamilton
15:Valtteri Bottas
09:Max Verstappen
14:Sergio Perez
02:Daniel Ricciardo
54:Lando Norris
19:Lance Stroll
13:Sebastian Vettel
03:Fernando Alonso
17:Esteban Ocon
58:Charles Leclerc
00:Carlos Sainz
59:Pierre Gasly
94:Yuki Tsunoda
06:Kimi Räikkönen
74:Antonio Giovinazzi
81:Mick Schumacher
50:George Russell
63:Nicholas Latifi
47:Sean Galael
91:Dan Ticktum
80:Guanyu Zhou
82:Callum Ilott
92:Marcus Armstrong
93:Christian Lundgaard
95:Jehan Daruvala
49:Yuki Tsunoda
96:Suilherme Samaia
56:Luis Delétraz
97:Pedro Piquet
78:Nobuharu Matsushita
98:Felipe Drugovich
45:Artem Markelov
88:Giuliano Alesi
99:Robert Shwartzman
100:Roy Nissany
101:Marino Sato
53:Luca Ghiotto
71:Jack Tremblay
21:Martin Giles
22:Alex Murray
23:Lucas Roth
24:Igor Correia
25:Sophie Levasseur
26:Jonas Schiffer
27:Alain Forest
28:Jay Letourneau
29:Esto Saari
30:Yasar Atiyeh
31:Callisto Calabresi
32:Naota Izumi
33:Howard Clarke
35:Marie Laursen
36:Flavio Nieves
37:Peter Belousov
38:Klimek Michalski
39:Santiago Moreno
90:Michael Schumacher
77:Ayrton Senna
109:Jenson Button
04:Felipe Massa
110:David Coulthard
111:Nico Rosberg
11:Kevin Magnussen
112:Oscar Piastri
113:Liam Lawson
114:Juri Vips
115:Theo Pourchaire
116:Richard Verschoor
117:Lirim Zendeli
123:Enzo Fittipaldi
118:David Beckmann
89:Ralph Boschung
121:Alessio Deledda
122:Bent Viscaal
34:Wilhelm Kaufmann
70:Rashid Nair
76:Alain Prost
10:Nico Hulkenberg
125:Mark Webber
126:Jacques Villeneuve
</DropDownList>
<Color>0000FF</Color>
<VariableType>Byte</VariableType>
<Address>CareerData+50</Address>
<Offsets>
<Offset>2</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>171</ID>
<Description>"Player Points"</Description>
<Color>0000FF</Color>
<VariableType>4 Bytes</VariableType>
<Address>CareerData+50</Address>
<Offsets>
<Offset>30</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>172</ID>
<Description>"Rival Points"</Description>
<Color>0000FF</Color>
<VariableType>4 Bytes</VariableType>
<Address>CareerData+50</Address>
<Offsets>
<Offset>38</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>173</ID>
<Description>"Acclaim Gain"</Description>
<Color>0000FF</Color>
<VariableType>4 Bytes</VariableType>
<Address>CareerData+50</Address>
<Offsets>
<Offset>10</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>277</ID>
<Description>"Instant R&D Development"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>0080FF</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobScanModule(RNDAOB,F1_22.exe, 48 8B 87 98 00 00 00 80 78 FC 03)
alloc(RNDMem,512,RNDAOB)
label(Return)
registersymbol(RNDAOB)
RNDMem:
mov rax,[rdi+00000098]
mov byte ptr [rax-04],3
jmp Return
RNDAOB:
jmp RNDMem
db 90 90
Return:
[DISABLE]
RNDAOB:
db 48 8B 87 98 00 00 00
unregistersymbol(RNDAOB)
dealloc(RNDMem)
</AssemblerScript>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>2</ID>
<Description>"Race"</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>408000</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>3</ID>
<Description>"Note: CPU values will be used on player car while the CPU is in control of the car."</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>000080</Color>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>4</ID>
<Description>"Engine Power"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>408000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobScanModule(BHPAOB,F1_22.exe, F3 0F 59 83 4C 25 00 00)
alloc(BHPMem,512,BHPAOB)
label(Return)
label(CPUCode)
label(BHPRate)
label(BHPCPURate)
registersymbol(BHPRate)
registersymbol(BHPCPURate)
registersymbol(BHPAOB)
BHPMem:
mulss xmm0,[rbx+0000254C]
mov rax,[rbx+8]
cmp dword ptr [rax+F0],1
je CPUCode
mulss xmm0,[BHPRate]
jmp Return
CPUCode:
mulss xmm0,[BHPCPURate]
jmp Return
BHPRate:
dd 3F800000
BHPCPURate:
dd 3F800000
BHPAOB:
jmp BHPMem
db 90 90 90
Return:
[DISABLE]
BHPAOB:
db F3 0F 59 83 4C 25 00 00
unregistersymbol(BHPRate)
unregistersymbol(BHPCPURate)
unregistersymbol(BHPAOB)
dealloc(BHPMem)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>5</ID>
<Description>"Engine Power Rate [Player]"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0.75:75% Power
0.80:80% Power
0.85:85% Power
0.90:90% Power
0.95:95% Power
1:Normal Power
1.05:105% Power
1.10:110% Power
1.15:115% Power
1.20:120% Power
1.25:125% Power
</DropDownList>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>BHPRate</Address>
</CheatEntry>
<CheatEntry>
<ID>147</ID>
<Description>"Engine Power Rate [Computer]"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0.75:75% Power
0.80:80% Power
0.85:85% Power
0.90:90% Power
0.95:95% Power
1:Normal Power
1.05:105% Power
1.10:110% Power
1.15:115% Power
1.20:120% Power
1.25:125% Power
</DropDownList>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>BHPCPURate</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>260</ID>
<Description>"Engine Wear"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>408000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobScanModule(Engine_ICE_AOB,F1_22.exe, F3 0F 58 A3 00 25 00 00)
aobScanModule(Engine_MGUK_AOB,F1_22.exe, F3 0F 58 87 10 25 00 00)
aobScanModule(Engine_MGUH_AOB,F1_22.exe, F3 0F 58 83 0C 25 00 00)
aobScanModule(Engine_ES_AOB,F1_22.exe, F3 0F 11 87 08 25 00 00)
aobScanModule(Engine_TC_AOB,F1_22.exe, F3 0F 58 83 04 25 00 00)
aobScanModule(Engine_CE_AOB,F1_22.exe, F3 0F 59 CD F3 0F 58 D9)
aobScanModule(Engine_Gearbox_AOB1,F1_22.exe, F3 0F 59 87 CC 9B 00 00 F3 0F 58 F0)
aobScanModule(Engine_Gearbox_AOB2,F1_22.exe, F3 0F 59 8F CC 9B 00 00)
aobScanModule(Engine_Gearbox_AOB3,F1_22.exe, F3 0F 59 84 24 C0 00 00 00 F3 0F 58 F0)
aobScanModule(Engine_Gearbox_AOB4,F1_22.exe, F3 0F 11 93 1C 07 00 00)
alloc(EngineMem,8192,Engine_ICE_AOB)
label(EngineRate)
label(Engine_ICE)
label(Engine_MGUK)
label(Engine_MGUH)
label(Engine_ES)
label(Engine_TC)
label(Engine_CE)
label(Engine_Gearbox1)
label(Engine_Gearbox2)
label(Engine_Gearbox3)
label(Engine_Gearbox4)
label(Return_ICE)
label(Return_MGUK)
label(Return_MGUH)
label(Return_ES)
label(Return_TC)
label(Return_CE)
label(Return_Gearbox1)
label(Return_Gearbox2)
label(Return_Gearbox3)
label(Return_Gearbox4)
registersymbol(EngineRate)
registersymbol(Engine_ICE_AOB)
registersymbol(Engine_MGUK_AOB)
registersymbol(Engine_MGUH_AOB)
registersymbol(Engine_ES_AOB)
registersymbol(Engine_TC_AOB)
registersymbol(Engine_CE_AOB)
registersymbol(Engine_Gearbox_AOB1)
registersymbol(Engine_Gearbox_AOB2)
registersymbol(Engine_Gearbox_AOB3)
registersymbol(Engine_Gearbox_AOB4)
EngineMem:
Engine_ICE:
mulss xmm4,[EngineRate]
addss xmm4,[rbx+00002500]
lea rcx,[rbx+00002500]
mov [EngineRate+10],rcx
lea rcx,[rbx+00002510]
mov [EngineRate+20],rcx
lea rcx,[rbx+0000250C]
mov [EngineRate+30],rcx
lea rcx,[rbx+00002508]
mov [EngineRate+40],rcx
lea rcx,[rbx+00002504]
mov [EngineRate+50],rcx
lea rcx,[rbx+00002514]
mov [EngineRate+60],rcx
jmp Return_ICE
Engine_MGUK:
mulss xmm0,[EngineRate]
addss xmm0,[rdi+00002510]
jmp Return_MGUK
Engine_MGUH:
mulss xmm0,[EngineRate]
addss xmm0,[rbx+0000250C]
jmp Return_MGUH
Engine_ES:
mulss xmm4,[EngineRate]
addss xmm4,[rdi+00002508]
jmp Return_ES
Engine_TC:
mulss xmm0,[EngineRate]
addss xmm0,[rbx+00002504]
jmp Return_TC
Engine_CE:
mulss xmm1,xmm5
mulss xmm1,[EngineRate]
addss xmm3,xmm1
jmp Return_CE
Engine_Gearbox1:
mulss xmm0,[rdi+00009BBC]
mulss xmm0,[EngineRate]
jmp Return_Gearbox1
Engine_Gearbox2:
mulss xmm1,[rdi+00009BBC]
mulss xmm1,[EngineRate]
jmp Return_Gearbox2
Engine_Gearbox3:
mulss xmm0,[rsp+000000C0]
mulss xmm0,[EngineRate]
jmp Return_Gearbox3
Engine_Gearbox4:
movss [rbx+0000071C],xmm2
push rcx
lea rcx,[rbx+0000071C]
mov [EngineRate+70],rcx
pop rcx
jmp Return_Gearbox4
EngineRate:
dd 3F800000
Engine_ICE_AOB:
jmp Engine_ICE
db 90 90 90
Return_ICE:
Engine_MGUK_AOB:
jmp Engine_MGUK
db 90 90 90
Return_MGUK:
Engine_MGUH_AOB:
jmp Engine_MGUH
db 90 90 90
Return_MGUH:
Engine_ES_AOB:
jmp Engine_ES
db 90 90 90
Return_ES:
Engine_TC_AOB:
jmp Engine_TC
db 90 90 90
Return_TC:
Engine_CE_AOB:
jmp Engine_CE
db 90 90 90
Return_CE:
Engine_Gearbox_AOB1:
jmp Engine_Gearbox1
db 90 90 90
Return_Gearbox1:
Engine_Gearbox_AOB2:
jmp Engine_Gearbox2
db 90 90 90
Return_Gearbox2:
Engine_Gearbox_AOB3:
jmp Engine_Gearbox3
db 90 90 90 90
Return_Gearbox3:
Engine_Gearbox_AOB4:
jmp Engine_Gearbox4
db 90 90 90
Return_Gearbox4:
[DISABLE]
Engine_ICE_AOB:
db F3 0F 58 A3 00 25 00 00
Engine_MGUK_AOB:
db F3 0F 58 87 10 25 00 00
Engine_MGUH_AOB:
db F3 0F 58 83 0C 25 00 00
Engine_ES_AOB:
db F3 0F 11 87 08 25 00 00
Engine_TC_AOB:
db F3 0F 58 83 04 25 00 00
Engine_CE_AOB:
db F3 0F 59 CD F3 0F 58 D9
Engine_Gearbox_AOB1:
db F3 0F 59 87 CC 9B 00 00
Engine_Gearbox_AOB2:
db F3 0F 59 8F CC 9B 00 00
Engine_Gearbox_AOB3:
db F3 0F 59 84 24 C0 00 00 00
Engine_Gearbox_AOB4:
db F3 0F 11 93 1C 07 00 00
unregistersymbol(EngineRate)
unregistersymbol(Engine_ICE_AOB)
unregistersymbol(Engine_MGUK_AOB)
unregistersymbol(Engine_MGUH_AOB)
unregistersymbol(Engine_ES_AOB)
unregistersymbol(Engine_TC_AOB)
unregistersymbol(Engine_CE_AOB)
unregistersymbol(Engine_Gearbox_AOB1)
unregistersymbol(Engine_Gearbox_AOB2)
unregistersymbol(Engine_Gearbox_AOB3)
unregistersymbol(Engine_Gearbox_AOB4)
dealloc(EngineMem)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>261</ID>
<Description>"Engine Wear Rate"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:No Wear
0.25:25% Wear
0.5:50% Wear
0.75:75% Wear
1:Normal Wear
1.25:125% Wear
1.5:150% Wear
1.75:175% Wear
2:Double Wear
</DropDownList>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>EngineRate</Address>
</CheatEntry>
<CheatEntry>
<ID>262</ID>
<Description>"Current Engine Wear"</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>408000</Color>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>263</ID>
<Description>"Note: F2 cars does not have MGU-H/MGU-K/ES"</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>408000</Color>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>264</ID>
<Description>"Motor Generator Unit - Heat (MGU-H)"</Description>
<Color>0080FF</Color>
<VariableType>Float</VariableType>
<Address>EngineRate+30</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>265</ID>
<Description>"Energy Store (ES)"</Description>
<Color>0080FF</Color>
<VariableType>Float</VariableType>
<Address>EngineRate+40</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>266</ID>
<Description>"Control Electronics (CE)"</Description>
<Color>0080FF</Color>
<VariableType>Float</VariableType>
<Address>EngineRate+60</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>267</ID>
<Description>"Internal Combustion Engine (ICE)"</Description>
<Color>0080FF</Color>
<VariableType>Float</VariableType>
<Address>EngineRate+10</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>268</ID>
<Description>"Motor Generator Unit - Kinetic (MGU-K)"</Description>
<Color>0080FF</Color>
<VariableType>Float</VariableType>
<Address>EngineRate+20</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>269</ID>
<Description>"Turbo Charger (TC)"</Description>
<Color>0080FF</Color>
<VariableType>Float</VariableType>
<Address>EngineRate+50</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>270</ID>
<Description>"Gearbox"</Description>
<Color>0080FF</Color>
<VariableType>Float</VariableType>
<Address>EngineRate+70</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>17</ID>
<Description>"Grip Rate"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>408000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobScanModule(GripAOB,F1_22.exe, F3 0F 11 84 AF 40 06 00 00)
aobScanModule(TimeAOB,F1_22.exe, 48 8B 4F 38 40 0F B6 D6 48 89)
alloc(GripMem,512,GripAOB)
label(GripReturn)
label(TimeReturn)
label(TimeCode)
label(GripCode)
label(GripStartCode)
label(CPUCode)
label(GripRate)
label(GripCPURate)
label(GripTimer)
label(GripStart)
label(SessionTimer)
registersymbol(GripRate)
registersymbol(GripCPURate)
registersymbol(GripTimer)
registersymbol(GripStart)
registersymbol(SessionTimer)
registersymbol(GripAOB)
registersymbol(TimeAOB)
GripMem:
mov rcx,[r14]
movss xmm12,[SessionTimer]
comiss xmm12,[GripTimer]
jb GripStartCode
GripCode:
xorps xmm12,xmm12
cmp dword ptr [rcx+F0],1
je CPUCode
mulss xmm0,[GripRate]
movss [rdi+rbp*4+00000640],xmm0
jmp GripReturn
CPUCode:
mulss xmm0,[GripCPURate]
movss [rdi+rbp*4+00000640],xmm0
jmp GripReturn
GripStartCode:
cmp dword ptr [GripStart],1
jne GripCode
xorps xmm12,xmm12
mulss xmm0,[GripRate]
movss [rdi+rbp*4+00000640],xmm0
jmp GripReturn
TimeCode:
mov rcx,[rdi+38]
movzx edx,sil
movss [SessionTimer],xmm7
jmp TimeReturn
GripRate:
dd 3F800000
GripCPURate:
dd 3F800000
SessionTimer:
dd 00000000
GripTimer:
dd 41700000
GripStart:
dd 00000000
GripAOB:
jmp GripMem
db 90 90 90 90
GripReturn:
TimeAOB:
jmp TimeCode
db 90 90 90
TimeReturn:
[DISABLE]
GripAOB:
db F3 0F 11 84 AF 40 06 00 00
TimeAOB:
db 48 8B 4F 38 40 0F B6 D6
unregistersymbol(GripRate)
unregistersymbol(GripCPURate)
unregistersymbol(GripTimer)
unregistersymbol(GripStart)
unregistersymbol(SessionTimer)
unregistersymbol(GripAOB)
unregistersymbol(TimeAOB)
dealloc(GripMem)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>18</ID>
<Description>"Grip Rate [Player]"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:No Grip
0.25:25% Grip
0.5:50% Grip
0.75:75% Grip
1:Normal Grip
1.25:125% Grip
1.5:150% Grip
1.75:175% Grip
2:Double Grip
</DropDownList>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>GripRate</Address>
</CheatEntry>
<CheatEntry>
<ID>19</ID>
<Description>"Grip Rate [Computer]"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:No Grip
0.25:25% Grip
0.5:50% Grip
0.75:75% Grip
1:Normal Grip
1.25:125% Grip
1.5:150% Grip
1.75:175% Grip
2:Double Grip
</DropDownList>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>GripCPURate</Address>
</CheatEntry>
<CheatEntry>
<ID>182</ID>
<Description>"Prevent easy overtaking of CPU cars at race start because of better grip"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:OFF
1:ON
</DropDownList>
<Color>4080FF</Color>
<VariableType>4 Bytes</VariableType>
<Address>GripStart</Address>
<CheatEntries>
<CheatEntry>
<ID>183</ID>
<Description>"Time in seconds from race start to equalize"</Description>
<Color>4080FF</Color>
<VariableType>Float</VariableType>
<Address>GripTimer</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>232</ID>
<Description>"Tyre Wear"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>408000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobScanModule(TyreAOB,F1_22.exe, F3 0F 58 63 78)
alloc(TyreMem,512,TyreAOB)
label(Return)
label(CPUCode)
label(Code)
label(TyreRate)
label(TyreCPURate)
registersymbol(TyreRate)
registersymbol(TyreCPURate)
registersymbol(TyreAOB)
TyreMem:
mov r12,[rbx+8]
cmp dword ptr [r12+F0],1
je CPUCode
mulss xmm4,[TyreRate]
jmp Code
CPUCode:
mulss xmm4,[TyreCPURate]
Code:
xor r12,r12
addss xmm4,[rbx+78]
jmp Return
TyreRate:
dd 3F800000
TyreCPURate:
dd 3F800000
TyreAOB:
jmp TyreMem
Return:
[DISABLE]
TyreAOB:
db F3 0F 58 63 78
unregistersymbol(TyreRate)
unregistersymbol(TyreCPURate)
unregistersymbol(TyreAOB)
dealloc(TyreMem)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>233</ID>
<Description>"Tyre Wear Rate [Player]"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:No Wear
0.25:25% Wear
0.5:50% Wear
0.75:75% Wear
1:Normal Wear
1.25:125% Wear
1.5:150% Wear
1.75:175% Wear
2:Double Wear
</DropDownList>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>TyreRate</Address>
</CheatEntry>
<CheatEntry>
<ID>234</ID>
<Description>"Tyre Wear Rate [Computer]"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:No Wear
0.25:25% Wear
0.5:50% Wear
0.75:75% Wear
1:Normal Wear
1.25:125% Wear
1.5:150% Wear
1.75:175% Wear
2:Double Wear
</DropDownList>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>TyreCPURate</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>236</ID>
<Description>"Tyre Temperature"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>408000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobScanModule(TyreCTempAOB,F1_22.exe, F3 0F 11 6B 68)
aobScanModule(TyreSTempAOB,F1_22.exe, F3 0F 11 73 64 EB 1B)
alloc(TyreTempMem,512,TyreCTempAOB)
label(ReturnC)
label(ReturnS)
label(CodeC)
label(CodeS)
label(MinMaxC)
label(MinMaxS)
label(TyreTemp)
label(TyreKTemp)
registersymbol(TyreTemp)
registersymbol(TyreKTemp)
registersymbol(TyreCTempAOB)
registersymbol(TyreSTempAOB)
TyreTempMem:
TyreCTemp:
cmp [TyreTemp],0
je MinMaxC
movss xmm5,[TyreTemp]
addss xmm5,[TyreKTemp]
jmp CodeC
MinMaxC:
cmp [TyreTemp+10],0
je CodeC
cmp [TyreTemp+20],0
je CodeC
subss xmm5,[TyreKTemp]
movss xmm0,[TyreTemp+10]
maxss xmm5,xmm0
movss xmm0,[TyreTemp+20]
minss xmm5,xmm0
addss xmm5,[TyreKTemp]
CodeC:
movss [rbx+68],xmm5
jmp ReturnC
TyreSTemp:
cmp [TyreTemp],0
je MinMaxS
movss xmm6,[TyreTemp]
addss xmm6,[TyreKTemp]
jmp CodeS
MinMaxS:
cmp [TyreTemp+10],0
je CodeS
cmp [TyreTemp+20],0
je CodeS
subss xmm6,[TyreKTemp]
movss xmm1,[TyreTemp+10]
maxss xmm6,xmm1
movss xmm1,[TyreTemp+20]
minss xmm6,xmm1
addss xmm6,[TyreKTemp]
CodeS:
movss [rbx+64],xmm6
jmp ReturnS
TyreTemp:
dd 0
TyreKTemp:
dd 43889333
TyreCTempAOB:
jmp TyreCTemp
ReturnC:
TyreSTempAOB:
jmp TyreSTemp
ReturnS:
[DISABLE]
TyreCTempAOB:
db F3 0F 11 6B 68
TyreSTempAOB:
db F3 0F 11 73 64
unregistersymbol(TyreTemp)
unregistersymbol(TyreKTemp)
unregistersymbol(TyreCTempAOB)
unregistersymbol(TyreSTempAOB)
dealloc(TyreTempMem)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>237</ID>
<Description>"Note: Leave the override at 0 if using Min/Max settings"</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>408000</Color>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>238</ID>
<Description>"Tyre Temperature Override [Celsius]"</Description>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>TyreTemp</Address>
</CheatEntry>
<CheatEntry>
<ID>239</ID>
<Description>"Minimum Tyre Temperature [Celsius]"</Description>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>TyreTemp+10</Address>
</CheatEntry>
<CheatEntry>
<ID>240</ID>
<Description>"Maximum Tyre Temperature [Celsius]"</Description>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>TyreTemp+20</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>242</ID>
<Description>"Brake Temperature"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>408000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobScanModule(BrakeTempAOB,F1_22.exe, F3 0F 11 6B 08 48 8B 9C 24)
alloc(BrakeTempMem,512,BrakeTempAOB)
label(Return)
label(Code)
label(MinMax)
label(BrakeTemp)
label(BrakeKTemp)
registersymbol(BrakeTemp)
registersymbol(BrakeKTemp)
registersymbol(BrakeTempAOB)
BrakeTempMem:
cmp dword ptr [rdx+F0],1
je Code
cmp [BrakeTemp],0
je MinMax
movss xmm5,[BrakeTemp]
addss xmm5,[BrakeKTemp]
jmp Code
MinMax:
cmp [BrakeTemp+10],0
je Code
cmp [BrakeTemp+20],0
je Code
subss xmm5,[BrakeKTemp]
movss xmm13,[BrakeTemp+10]
maxss xmm5,xmm13
movss xmm13,[BrakeTemp+20]
minss xmm5,xmm13
addss xmm5,[BrakeKTemp]
Code:
movss [rbx+08],xmm5
jmp Return
BrakeTemp:
dd 0
BrakeKTemp:
dd 43889333
BrakeTempAOB:
jmp BrakeTempMem
Return:
[DISABLE]
BrakeTempAOB:
db F3 0F 11 6B 08
unregistersymbol(BrakeTemp)
unregistersymbol(BrakeKTemp)
unregistersymbol(BrakeTempAOB)
dealloc(BrakeTempMem)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>243</ID>
<Description>"Note: Leave the override at 0 if using Min/Max settings"</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>408000</Color>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>244</ID>
<Description>"Brake Temperature Override [Celsius]"</Description>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>BrakeTemp</Address>
</CheatEntry>
<CheatEntry>
<ID>245</ID>
<Description>"Minimum Brake Temperature [Celsius]"</Description>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>BrakeTemp+10</Address>
</CheatEntry>
<CheatEntry>
<ID>246</ID>
<Description>"Maximum Brake Temperature [Celsius]"</Description>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>BrakeTemp+20</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>247</ID>
<Description>"Engine Temperature"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>408000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobScanModule(Engine1TempAOB,F1_22.exe, F3 0F 11 AF F0 24 00 00)
aobScanModule(Engine2TempAOB,F1_22.exe, F3 0F 11 97 F0 24 00 00)
alloc(EngineTempMem,512,Engine1TempAOB)
label(Return1)
label(Return2)
label(Code1)
label(Code2)
label(MinMax1)
label(MinMax2)
label(EngineTemp)
label(EngineKTemp)
registersymbol(EngineTemp)
registersymbol(EngineKTemp)
registersymbol(Engine1TempAOB)
registersymbol(Engine2TempAOB)
EngineTempMem:
Engine1Temp:
cmp [EngineTemp],0
je MinMax1
movss xmm5,[EngineTemp]
addss xmm5,[EngineKTemp]
jmp Code1
MinMax1:
cmp [EngineTemp+10],0
je Code1
cmp [EngineTemp+20],0
je Code1
subss xmm5,[EngineKTemp]
movss xmm0,[EngineTemp+10]
maxss xmm5,xmm0
movss xmm0,[EngineTemp+20]
minss xmm5,xmm0
addss xmm5,[EngineKTemp]
Code1:
movss [rdi+000024F0],xmm5
jmp Return1
Engine2Temp:
cmp [EngineTemp],0
je MinMax2
movss xmm2,[EngineTemp]
addss xmm2,[EngineKTemp]
jmp Code2
MinMax2:
cmp [EngineTemp+10],0
je Code2
cmp [EngineTemp+20],0
je Code2
subss xmm2,[EngineKTemp]
movss xmm10,[EngineTemp+10]
maxss xmm2,xmm10
movss xmm10,[EngineTemp+20]
minss xmm2,xmm10
addss xmm2,[EngineKTemp]
Code2:
movss [rdi+000024F0],xmm2
jmp Return2
EngineTemp:
dd 0
EngineKTemp:
dd 43889333
Engine1TempAOB:
jmp Engine1Temp
db 90 90 90
Return1:
Engine2TempAOB:
jmp Engine2Temp
db 90 90 90
Return2:
[DISABLE]
Engine1TempAOB:
db F3 0F 11 AF F0 24 00 00
Engine2TempAOB:
db F3 0F 11 97 F0 24 00 00
unregistersymbol(EngineTemp)
unregistersymbol(EngineKTemp)
unregistersymbol(Engine1TempAOB)
unregistersymbol(Engine2TempAOB)
dealloc(EngineTempMem)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>248</ID>
<Description>"Note: Leave the override at 0 if using Min/Max settings"</Description>
<LastState Value="" RealAddress="00000000"/>
<Color>408000</Color>
<GroupHeader>1</GroupHeader>
</CheatEntry>
<CheatEntry>
<ID>249</ID>
<Description>"Engine Temperature Override [Celsius]"</Description>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>EngineTemp</Address>
</CheatEntry>
<CheatEntry>
<ID>250</ID>
<Description>"Minimum Engine Temperature [Celsius]"</Description>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>EngineTemp+10</Address>
</CheatEntry>
<CheatEntry>
<ID>251</ID>
<Description>"Maximum Engine Temperature [Celsius]"</Description>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>EngineTemp+20</Address>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>252</ID>
<Description>"Fuel Consumption"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>408000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobScanModule(FuelAOB,F1_22.exe, 32 C8 F3 0F 5C C3)
alloc(FuelMem,512,FuelAOB)
label(Return)
label(CPUCode)
label(Code)
label(FuelRate)
label(FuelCPURate)
registersymbol(FuelRate)
registersymbol(FuelCPURate)
registersymbol(FuelAOB)
FuelMem:
mov rsi,[rdi+8]
cmp dword ptr [rsi+F0],1
je CPUCode
lea rsi,[rdi+100]
mov [FuelRate+10],rsi
mulss xmm3,[FuelRate]
jmp Code
CPUCode:
mulss xmm3,[FuelCPURate]
Code:
xor cl,al
subss xmm0,xmm3
jmp Return
FuelRate:
dd 3F800000
FuelCPURate:
dd 3F800000
FuelAOB:
jmp FuelMem
nop
Return:
[DISABLE]
FuelAOB:
db 32 C8 F3 0F 5C C3
unregistersymbol(FuelRate)
unregistersymbol(FuelCPURate)
unregistersymbol(FuelAOB)
dealloc(FuelMem)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>253</ID>
<Description>"Fuel Consumption Rate [Player]"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:No Consumption
0.25:25% Consumption
0.5:50% Consumption
0.75:75% Consumption
1:Normal Consumption
1.25:125% Consumption
1.5:150% Consumption
1.75:175% Consumption
2:Double Consumption
</DropDownList>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>FuelRate</Address>
</CheatEntry>
<CheatEntry>
<ID>254</ID>
<Description>"Fuel Consumption Rate [Computer]"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:No Consumption
0.25:25% Consumption
0.5:50% Consumption
0.75:75% Consumption
1:Normal Consumption
1.25:125% Consumption
1.5:150% Consumption
1.75:175% Consumption
2:Double Consumption
</DropDownList>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>FuelCPURate</Address>
</CheatEntry>
<CheatEntry>
<ID>255</ID>
<Description>"Current Fuel Load"</Description>
<Color>408000</Color>
<VariableType>Float</VariableType>
<Address>FuelRate+10</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>256</ID>
<Description>"Energy Recovery System (ERS)"</Description>
<Options moHideChildren="1"/>
<LastState/>
<Color>408000</Color>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>[ENABLE]
aobScanModule(ERSAOB,F1_22.exe, 0F 28 C1 F3 0F 5C D1 F3 0F 58 83)
alloc(ERSMem,512,ERSAOB)
label(Return)
label(CPUCode)
label(Code)
label(ERSDrainRate)
label(ERSCPUDrainRate)
registersymbol(ERSDrainRate)
registersymbol(ERSCPUDrainRate)
registersymbol(ERSAOB)
ERSMem:
cmp dword ptr [rbp+F0],1
je CPUCode
lea rsi,[rbx+00000504]
mov [ERSDrainRate+10],rsi
mulss xmm1,[ERSDrainRate]
jmp Code
CPUCode:
mulss xmm1,[ERSCPUDrainRate]
Code:
movaps xmm0,xmm1
subss xmm2,xmm1
jmp Return
ERSDrainRate:
dd 3F800000
ERSCPUDrainRate:
dd 3F800000
ERSAOB:
jmp ERSMem
db 90 90
Return:
[DISABLE]
ERSAOB:
db 0F 28 C1 F3 0F 5C D1
unregistersymbol(ERSDrainRate)
unregistersymbol(ERSCPUDrainRate)
unregistersymbol(ERSAOB)
dealloc(ERSMem)
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>257</ID>
<Description>"Drain Rate [Player]"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:Unlimited
0.25:25% Rate
0.5:50% Rate
0.75:75% Rate
1:Normal Rate
1.25:125% Rate
1.5:150% Rate
1.75:175% Rate
2:Double Rate
</DropDownList>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>ERSDrainRate</Address>
</CheatEntry>
<CheatEntry>
<ID>258</ID>
<Description>"Drain Rate [Computer]"</Description>
<DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:Unlimited
0.25:25% Rate
0.5:50% Rate
0.75:75% Rate
1:Normal Rate
1.25:125% Rate
1.5:150% Rate
1.75:175% Rate
2:Double Rate
</DropDownList>
<Color>FF0000</Color>
<VariableType>Float</VariableType>
<Address>ERSCPUDrainRate</Address>
</CheatEntry>
<CheatEntry>
<ID>259</ID>
<Description>"Current ERS Level"</Description>
<Color>408000</Color>
<VariableType>Float</VariableType>
<Address>ERSDrainRate+10</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
<UserdefinedSymbols/>
</CheatTable>
|
|
|
| Back to top |
|
 |
LeFiXER Grandmaster Cheater Supreme
Reputation: 20
Joined: 02 Sep 2011 Posts: 1069 Location: 0x90
|
Posted: Thu Jul 20, 2023 8:34 am Post subject: Re: How to find adresses from Cheat Table? |
|
|
| lewis08 wrote: | Hi, i have a CT which i found from Internet. I want to extract the adresses of some of the features to make a external trainer. How can i find the 4byte (int) adresses of the features of CT. For example Race-Engine Power-Engine Power Rate [Player] ?
Here is the CT in Notepad (paste it in notepad and change extension to .CT, i cannot upload CT directly since its too large)
|
It's a lot here but nothing looks identifiable to what you want. I would suggest you do some basic tutorials on copy injection, pointer scripts.
|
|
| Back to top |
|
 |
lewis08 How do I cheat?
Reputation: 0
Joined: 18 Jul 2023 Posts: 8
|
Posted: Thu Jul 20, 2023 8:49 am Post subject: Re: How to find adresses from Cheat Table? |
|
|
| LeFiXER wrote: | | lewis08 wrote: | Hi, i have a CT which i found from Internet. I want to extract the adresses of some of the features to make a external trainer. How can i find the 4byte (int) adresses of the features of CT. For example Race-Engine Power-Engine Power Rate [Player] ?
Here is the CT in Notepad (paste it in notepad and change extension to .CT, i cannot upload CT directly since its too large)
|
It's a lot here but nothing looks identifiable to what you want. I would suggest you do some basic tutorials on copy injection, pointer scripts. |
Thanks, found out this CT uses cop injection.
|
|
| Back to top |
|
 |
LeFiXER Grandmaster Cheater Supreme
Reputation: 20
Joined: 02 Sep 2011 Posts: 1069 Location: 0x90
|
Posted: Thu Jul 20, 2023 9:40 am Post subject: |
|
|
| I didn't say it couldn't be done from the table; just what you showed didn't give any identifiable information. It's hard to say exactly what's done without analysing it myself. The Race script could rely on other scripts within the table. It's why I suggested the pointer script tutorials because you can always find the address you want to modify using this method.
|
|
| Back to top |
|
 |
lewis08 How do I cheat?
Reputation: 0
Joined: 18 Jul 2023 Posts: 8
|
Posted: Thu Jul 20, 2023 10:01 am Post subject: |
|
|
| LeFiXER wrote: | | I didn't say it couldn't be done from the table; just what you showed didn't give any identifiable information. It's hard to say exactly what's done without analysing it myself. The Race script could rely on other scripts within the table. It's why I suggested the pointer script tutorials because you can always find the address you want to modify using this method. |
Yes, you're right. But the problem is i can not find the address myself by scanning becaue value is more complicated (not like simple health text or sm, it is the grip rate of the car which we don't know how the value is.) So all i have is this table which uses injection copies. Anyways thanks for your replies! Appreciate it
|
|
| Back to top |
|
 |
LeFiXER Grandmaster Cheater Supreme
Reputation: 20
Joined: 02 Sep 2011 Posts: 1069 Location: 0x90
|
Posted: Thu Jul 20, 2023 5:50 pm Post subject: |
|
|
| See pm
|
|
| Back to top |
|
 |
++METHOS I post too much
Reputation: 92
Joined: 29 Oct 2010 Posts: 4197
|
Posted: Fri Jul 21, 2023 1:19 am Post subject: |
|
|
The AOB is probably here:
| Code: | | aobScanModule(GripAOB,F1_22.exe, F3 0F 11 84 AF 40 06 00 00) |
Simply perform a scan on that AOB signature. With that, you will have the injection location that you need.
Just guessing, but the value is probably being handled here:
| Code: | | movss [rdi+rbp*4+00000640],xmm0 |
Simply check to see what addresses are being access by that instruction. With that, you will have the address that you need.
Other values can be found in the same way.
That said, have you tried contacting the author to inquire about these things? Just be sure to credit the author when using someone else's work.
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
|
|