Re: Death Stranding | Cheat Engine Table v1.0
Posted: Mon Sep 07, 2020 5:30 pm
Any Update here? New Game Update 1.03 is out...
Community Cheat Tables of Cheat Engine
https://fearlessrevolution.com/
Hey SunBeam,SunBeam wrote: ↑Tue Aug 04, 2020 8:08 pmI'm urging everyone to do the same. The game is simply beautiful. Fucking ignore all the marketed crap, all the shit you've known about Kojima, Metal Gear Solid and other crap. This is a TOTALLY different experience. After finishing the game I feel like I've read a long-3-volume novel and I keep wanting more. Here's to hoping for more games from the new Konami-free Kojima
There are numerous trainers(fearlessrevolution, fearlessrevolution's, etc.) that have that feature if it might help youQuarryTen wrote: ↑Sat Sep 12, 2020 8:20 amAwesome!
Can someone help me think of a way to find the flags for infinite battery for the exo and vehicles? I assume they're floats and jumping in and out of energy zones while scanning for changed and unchanged values is the route to go, but I seem to be finding incorrect addresses. Does anyone have the direct address or opcode that accesses the battery for the current version of the game?
Personally, I prefer cheat tables because I can dissect the code and see how the author accomplished what they did. If it's something that I can't follow, I simply move on to the next game but if I can follow the logic, I take mental notes of what they did, how they did it, and apply to the next game I want to cheat on.SunBeam wrote: ↑Sun Sep 13, 2020 10:02 am^ Which is pretty much why I'm not interested in posting an updated table and have moved to other games. What would the point be?.. No one is keen to know how shit works; you all want is to hack the game, but instead of using trainers, to use tables. Cuz they're less fuss. So there's no actual gain for my time invested in cleaning up and updating the table. Reverting to "I'll think about it".
We would really still appreciate if you released the table. We have been waiting for you to post it for some time now, it would be quite unfortunate if gave up on releasing itSunBeam wrote: ↑Sun Sep 13, 2020 10:02 am^ Which is pretty much why I'm not interested in posting an updated table and have moved to other games. What would the point be?.. No one is keen to know how shit works; you all want is to hack the game, but instead of using trainers, to use tables. Cuz they're less fuss. So there's no actual gain for my time invested in cleaning up and updating the table. Reverting to "I'll think about it".
Code: Select all
<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
<CheatEntries>
<CheatEntry>
<ID>586</ID>
<Description>"COORDINATES"</Description>
<Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
<LastState Value="" RealAddress="00000000"/>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>602</ID>
<Description>"No Cargo Fall Damage"</Description>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : ds.exe
Version:
Date : 2020-08-20
Author : SenorPlebeian
This script does blah blah blah
}
[ENABLE]
aobscanmodule(NOFALLDAMAGE,ds.exe,C4 C1 7A 11 4E 34 * * * * 75) // should be unique
alloc(newmem,$1000,"ds.exe"+293D37A)
label(code)
label(return)
newmem:
code:
jmp return
NOFALLDAMAGE:
jmp newmem
nop
return:
registersymbol(NOFALLDAMAGE)
[DISABLE]
NOFALLDAMAGE:
db C4 C1 7A 11 4E 34
unregistersymbol(NOFALLDAMAGE)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "ds.exe"+293D37A
"ds.exe"+293D347: C4 41 7A 10 5E 34 - vmovss xmm11,[r14+34]
"ds.exe"+293D34D: C4 41 78 2F D8 - vcomiss xmm11,xmm0,xmm8
"ds.exe"+293D352: C4 C1 78 28 FA - vmovaps xmm7,xmm10
"ds.exe"+293D357: 0F 86 2D 0B 00 00 - jbe ds.exe+293DE8A
"ds.exe"+293D35D: C4 41 78 2F D0 - vcomiss xmm10,xmm0,xmm8
"ds.exe"+293D362: 0F 86 22 0B 00 00 - jbe ds.exe+293DE8A
"ds.exe"+293D368: 41 80 7E 20 05 - cmp byte ptr [r14+20],05
"ds.exe"+293D36D: 41 B7 01 - mov r15l,01
"ds.exe"+293D370: C4 C1 22 5C C2 - vsubss xmm0,xmm11,xmm10
"ds.exe"+293D375: C4 C1 7A 5F C8 - vmaxss xmm1,xmm0,xmm8
// ---------- INJECTING HERE ----------
"ds.exe"+293D37A: C4 C1 7A 11 4E 34 - vmovss [r14+34],xmm1
// ---------- DONE INJECTING ----------
"ds.exe"+293D380: C5 A2 5C F9 - vsubss xmm7,xmm11,xmm1
"ds.exe"+293D384: 75 0D - jne ds.exe+293D393
"ds.exe"+293D386: 44 8B F9 - mov r15d,ecx
"ds.exe"+293D389: 41 C1 EF 10 - shr r15d,10
"ds.exe"+293D38D: 41 80 E7 01 - and r15l,01
"ds.exe"+293D391: EB 69 - jmp ds.exe+293D3FC
"ds.exe"+293D393: 49 8B 46 28 - mov rax,[r14+28]
"ds.exe"+293D397: 80 78 3B 0A - cmp byte ptr [rax+3B],0A
"ds.exe"+293D39B: 75 0A - jne ds.exe+293D3A7
"ds.exe"+293D39D: 41 80 BE 80 00 00 00 0F - cmp byte ptr [r14+00000080],0F
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>959</ID>
<Description>"TELEPORT VEHICLE TO WAYPOINT (1.0)"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{$lua}
function teleportVehicleGracefully(waypointcoordinate, vcoordinate)
local x = readFloat(waypointcoordinate+16)
local y = readFloat(waypointcoordinate+20)
local z = readFloat(waypointcoordinate+24)
local currentVehicleZ = readDouble(vcoordinate + 16)
local rec = getAddressList().getMemoryRecordByDescription("TELEPORT VEHICLE TO WAYPOINT (1.0)")
if thistimer == nil then
thistimer = createTimer(nil, false)
end
thistimer.Interval = 250
thistimer.OnTimer = function(timer)
if currentVehicleZ > (z + 5) and z ~= 0 then
currentVehicleZ = currentVehicleZ - 5
writeDouble(vcoordinate + 16, currentVehicleZ)
writeDouble(vcoordinate - 1952, currentVehicleZ)
-- print (currentVehicleZ)
else
if (z ~= 0) then
writeDouble(vcoordinate + 16, z)
writeDouble(vcoordinate - 1952, z)
end
if x ~= 0 then
writeDouble(vcoordinate, x)
writeDouble(vcoordinate - 1968, x)
writeDouble(vcoordinate + 8, y)
writeDouble(vcoordinate - 1960, y)
end
-- print ("Done")
rec.Active = false
thistimer.setEnabled(false)
end
end
thistimer.setEnabled(true)
if currentVehicleZ <= (z + 5) then
writeDouble(vcoordinate + 16, z)
writeDouble(vcoordinate - 1952, z)
end
end
function init()
local waypointcoordinate = getAddressSafe("last_waypoint")
local vcoordinate = getAddressSafe("vehcoordinates")
waypointcoordinate = readQword(waypointcoordinate)
vcoordinate = readQword(vcoordinate) + 2168
teleportVehicleGracefully(waypointcoordinate, vcoordinate)
end
function initDisable()
if thistimer ~= nil then
thistimer.setEnabled(false)
end
end
[ENABLE]
init()
[DISABLE]
initDisable()
</AssemblerScript>
<Hotkeys>
<Hotkey>
<Action>Toggle Activation</Action>
<Keys>
<Key>98</Key>
</Keys>
<ID>0</ID>
</Hotkey>
</Hotkeys>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>552</ID>
<Description>"GRAB PLAYER COORDINATES"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : ds.exe
Version:
Date : 2020-08-15
Author : SenorPlebeian
This script grabs the coordinates of the player that
you can alter to move Sam's position
}
[ENABLE]
aobscanmodule(GRABPLAYERCOORDINATES,ds.exe,C5 FA 10 82 80 00 00 00 * * * * C4) // should be unique
alloc(newmem,$1000,"ds.exe"+19C3DA1)
alloc(coordinates, 8)
registersymbol(coordinates)
label(code)
label(return)
newmem:
code:
mov [coordinates], rdx
vmovss xmm0,[rdx+00000080]
jmp return
GRABPLAYERCOORDINATES:
jmp newmem
nop 3
return:
registersymbol(GRABPLAYERCOORDINATES)
[DISABLE]
GRABPLAYERCOORDINATES:
db C5 FA 10 82 80 00 00 00
unregistersymbol(GRABPLAYERCOORDINATES)
unregistersymbol(coordinates)
dealloc(coordinates)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "ds.exe"+19C3DA1
"ds.exe"+19C3D6C: C5 E8 58 C6 - vaddps xmm0,xmm2,xmm6
"ds.exe"+19C3D70: C5 F8 28 74 24 60 - vmovaps xmm6,[rsp+60]
"ds.exe"+19C3D76: 49 8B C0 - mov rax,r8
"ds.exe"+19C3D79: C5 F8 58 E2 - vaddps xmm4,xmm0,xmm2
"ds.exe"+19C3D7D: C5 F2 59 15 3B FB D9 01 - vmulss xmm2,xmm1,[ds.exe+37638C0]
"ds.exe"+19C3D85: C5 EA 58 05 07 38 DB 01 - vaddss xmm0,xmm2,[ds.exe+3777594]
"ds.exe"+19C3D8D: C5 C2 5A D7 - vcvtss2sd xmm2,xmm7,xmm7
"ds.exe"+19C3D91: C5 F8 28 7C 24 50 - vmovaps xmm7,[rsp+50]
"ds.exe"+19C3D97: C5 E0 57 DB - vxorps xmm3,xmm3,xmm3
"ds.exe"+19C3D9B: C4 E3 61 21 D8 20 - unknown avx 0F3A 21 xmm3,xmm3,xmm0,20
// ---------- INJECTING HERE ----------
"ds.exe"+19C3DA1: C5 FA 10 82 80 00 00 00 - vmovss xmm0,[rdx+00000080]
// ---------- DONE INJECTING ----------
"ds.exe"+19C3DA9: C5 FA 5A C0 - vcvtss2sd xmm0,xmm0,xmm0
"ds.exe"+19C3DAD: C4 C1 7B 58 C8 - vaddsd xmm1,xmm0,xmm8
"ds.exe"+19C3DB2: C5 D8 58 EB - vaddps xmm5,xmm4,xmm3
"ds.exe"+19C3DB6: C5 D2 5A C5 - vcvtss2sd xmm0,xmm5,xmm5
"ds.exe"+19C3DBA: C5 F3 5C C8 - vsubsd xmm1,xmm1,xmm0
"ds.exe"+19C3DBE: C4 C1 7B 11 08 - vmovsd [r8],xmm1
"ds.exe"+19C3DC3: C5 D0 C6 C5 55 - vshufps xmm0,xmm5,xmm5,55
"ds.exe"+19C3DC8: C4 41 39 15 C0 - vunpckhpd xmm8,xmm8,xmm8
"ds.exe"+19C3DCD: C4 C1 6B 58 C8 - vaddsd xmm1,xmm2,xmm8
"ds.exe"+19C3DD2: C5 78 28 44 24 40 - vmovaps xmm8,[rsp+40]
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>553</ID>
<Description>"Coordinates"</Description>
<Options moHideChildren="1"/>
<LastState Value="" RealAddress="00000000"/>
<ShowAsHex>1</ShowAsHex>
<VariableType>Array of byte</VariableType>
<ByteLength>0</ByteLength>
<Address>coordinates</Address>
<Offsets>
<Offset>80</Offset>
</Offsets>
<CheatEntries>
<CheatEntry>
<ID>585</ID>
<Description>"Player X"</Description>
<VariableType>Float</VariableType>
<Address>+0</Address>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>97</Key>
</Keys>
<Value>(WayX)</Value>
<ID>0</ID>
</Hotkey>
</Hotkeys>
</CheatEntry>
<CheatEntry>
<ID>554</ID>
<Description>"Player Y"</Description>
<VariableType>Float</VariableType>
<Address>+4</Address>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>97</Key>
</Keys>
<Value>(WayY)</Value>
<ID>0</ID>
</Hotkey>
</Hotkeys>
</CheatEntry>
<CheatEntry>
<ID>555</ID>
<Description>"Player Z"</Description>
<VariableType>Float</VariableType>
<Address>+8</Address>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>97</Key>
</Keys>
<Value>(WayZ)</Value>
<ID>0</ID>
</Hotkey>
</Hotkeys>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>939</ID>
<Description>"Last Attached Carrier"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : ds.exe
Version:
Date : 2020-08-21
Author : SenorPlebeian
This script does blah blah blah
}
[ENABLE]
aobscanmodule(LASTATTACHEDCARRIER,ds.exe,C4 C1 78 10 85 C8 00 00 00 C4 E3) // should be unique
alloc(newmem,$1000,"ds.exe"+23F5661)
alloc(last_attached_carrier, 8)
registersymbol(last_attached_carrier)
label(code)
label(return)
newmem:
mov [last_attached_carrier], r13
code:
vmovups xmm0,[r13+000000C8]
jmp return
LASTATTACHEDCARRIER:
jmp newmem
nop 4
return:
registersymbol(LASTATTACHEDCARRIER)
[DISABLE]
LASTATTACHEDCARRIER:
db C4 C1 78 10 85 C8 00 00 00
unregistersymbol(LASTATTACHEDCARRIER)
unregistersymbol(last_attached_carrier)
dealloc(last_attached_carrier)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "ds.exe"+23F5661
"ds.exe"+23F5619: C4 E3 79 40 DC 7F - vdpps xmm3,xmm0,xmm4,7F
"ds.exe"+23F561F: C5 FB 10 84 24 78 01 00 00 - vmovsd xmm0,[rsp+00000178]
"ds.exe"+23F5628: C4 E3 79 21 84 24 80 01 00 00 20 - unknown avx 0F3A 21 xmm0,xmm0,[rsp+00000180],20
"ds.exe"+23F5633: C4 C1 72 10 CA - vmovss xmm1,xmm1,xmm10
"ds.exe"+23F5638: C5 F8 11 8C 24 00 01 00 00 - vmovups [rsp+00000100],xmm1
"ds.exe"+23F5641: 45 33 F6 - xor r14d,r14d
"ds.exe"+23F5644: C7 84 24 F8 00 00 00 08 00 00 00 - mov [rsp+000000F8],00000008
"ds.exe"+23F564F: C4 E3 79 40 C4 7F - vdpps xmm0,xmm0,xmm4,7F
"ds.exe"+23F5655: C4 E3 71 40 D4 7F - vdpps xmm2,xmm1,xmm4,7F
"ds.exe"+23F565B: C4 E3 79 21 CA 10 - unknown avx 0F3A 21 xmm1,xmm0,xmm2,10
// ---------- INJECTING HERE ----------
"ds.exe"+23F5661: C4 C1 78 10 85 C8 00 00 00 - vmovups xmm0,[r13+000000C8]
// ---------- DONE INJECTING ----------
"ds.exe"+23F566A: C4 E3 71 21 DB 20 - unknown avx 0F3A 21 xmm3,xmm1,xmm3,20
"ds.exe"+23F5670: C4 C1 7B 10 8D D8 00 00 00 - vmovsd xmm1,[r13+000000D8]
"ds.exe"+23F5679: 48 8D 05 C8 E1 38 01 - lea rax,[ds.exe+3783848]
"ds.exe"+23F5680: 48 C7 84 24 FC 00 00 00 FF 00 00 00 - mov qword ptr [rsp+000000FC],000000FF
"ds.exe"+23F568C: C4 C1 78 28 FD - vmovaps xmm7,xmm13
"ds.exe"+23F5691: C5 C0 C6 FF 00 - vshufps xmm7,xmm7,xmm7,00
"ds.exe"+23F5696: C5 F8 11 84 24 90 00 00 00 - vmovups [rsp+00000090],xmm0
"ds.exe"+23F569F: C5 C0 59 C4 - vmulps xmm0,xmm7,xmm4
"ds.exe"+23F56A3: C5 F8 11 84 24 D0 00 00 00 - vmovups [rsp+000000D0],xmm0
"ds.exe"+23F56AC: C5 7A 11 A4 24 D8 00 00 00 - vmovss [rsp+000000D8],xmm12
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>935</ID>
<Description>"Flying Carrier X pos"</Description>
<Options moRecursiveSetValue="1"/>
<VariableType>Double</VariableType>
<Address>last_attached_carrier</Address>
<Offsets>
<Offset>C8</Offset>
</Offsets>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>100</Key>
</Keys>
<Value>(Player X)</Value>
<ID>0</ID>
</Hotkey>
<Hotkey>
<Action>Increase Value</Action>
<Keys>
<Key>100</Key>
</Keys>
<Value>1</Value>
<ID>1</ID>
</Hotkey>
</Hotkeys>
</CheatEntry>
<CheatEntry>
<ID>936</ID>
<Description>"Flying Carrier Y pos"</Description>
<Options moRecursiveSetValue="1"/>
<VariableType>Double</VariableType>
<Address>last_attached_carrier</Address>
<Offsets>
<Offset>D0</Offset>
</Offsets>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>100</Key>
</Keys>
<Value>(Player Y)</Value>
<ID>0</ID>
</Hotkey>
<Hotkey>
<Action>Increase Value</Action>
<Keys>
<Key>100</Key>
</Keys>
<Value>1</Value>
<ID>1</ID>
</Hotkey>
</Hotkeys>
</CheatEntry>
<CheatEntry>
<ID>937</ID>
<Description>"Flying Carrier Z pos"</Description>
<Options moRecursiveSetValue="1"/>
<VariableType>Double</VariableType>
<Address>last_attached_carrier</Address>
<Offsets>
<Offset>D8</Offset>
</Offsets>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>100</Key>
</Keys>
<Value>(Player Z)</Value>
<ID>0</ID>
</Hotkey>
<Hotkey>
<Action>Increase Value</Action>
<Keys>
<Key>100</Key>
</Keys>
<Value>.2</Value>
<ID>1</ID>
</Hotkey>
</Hotkeys>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>581</ID>
<Description>"Grab Last Waypoint"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : ds.exe
Version:
Date : 2020-08-18
Author : SenorPlebeian
This script does blah blah blah
}
[ENABLE]
aobscanmodule(GRABWAYPOINT,ds.exe,C5 F9 7F 43 10 88) // should be unique
alloc(newmem,$1000,"ds.exe"+1B7FE048)
alloc(last_waypoint, 8)
registersymbol(last_waypoint)
label(code)
label(return)
newmem:
mov [last_waypoint], rbx
code:
vmovdqa [rbx+10],xmm0
jmp return
GRABWAYPOINT:
jmp newmem
return:
registersymbol(GRABWAYPOINT)
[DISABLE]
GRABWAYPOINT:
db C5 F9 7F 43 10
unregistersymbol(GRABWAYPOINT)
unregistersymbol(last_waypoint)
dealloc(last_waypoint)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "ds.exe"+1B7FE048
"ds.exe"+1B7FE028: 89 4B 28 - mov [rbx+28],ecx
"ds.exe"+1B7FE02B: 89 C8 - mov eax,ecx
"ds.exe"+1B7FE02D: C1 E8 02 - shr eax,02
"ds.exe"+1B7FE030: A8 01 - test al,01
"ds.exe"+1B7FE032: 75 06 - jne ds.exe+1B7FE03A
"ds.exe"+1B7FE034: 83 C9 04 - or ecx,04
"ds.exe"+1B7FE037: 89 4B 28 - mov [rbx+28],ecx
"ds.exe"+1B7FE03A: C5 F8 10 07 - vmovups xmm0,[rdi]
"ds.exe"+1B7FE03E: 0F B6 4C 24 60 - movzx ecx,byte ptr [rsp+60]
"ds.exe"+1B7FE043: 0F B6 44 24 68 - movzx eax,byte ptr [rsp+68]
// ---------- INJECTING HERE ----------
"ds.exe"+1B7FE048: C5 F9 7F 43 10 - vmovdqa [rbx+10],xmm0
// ---------- DONE INJECTING ----------
"ds.exe"+1B7FE04D: 88 43 43 - mov [rbx+43],al
"ds.exe"+1B7FE050: 88 4B 41 - mov [rbx+41],cl
"ds.exe"+1B7FE053: 88 4B 42 - mov [rbx+42],cl
"ds.exe"+1B7FE056: 44 88 73 4C - mov [rbx+4C],r14l
"ds.exe"+1B7FE05A: 44 88 7B 4D - mov [rbx+4D],r15l
"ds.exe"+1B7FE05E: 8B 86 F0 5E 00 00 - mov eax,[rsi+00005EF0]
"ds.exe"+1B7FE064: 83 C8 04 - or eax,04
"ds.exe"+1B7FE067: 89 86 F0 5E 00 00 - mov [rsi+00005EF0],eax
"ds.exe"+1B7FE06D: 84 C9 - test cl,cl
"ds.exe"+1B7FE06F: 74 0A - je ds.exe+1B7FE07B
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>582</ID>
<Description>"WayX"</Description>
<VariableType>Float</VariableType>
<Address>last_waypoint</Address>
<Offsets>
<Offset>10</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>583</ID>
<Description>"WayY"</Description>
<VariableType>Float</VariableType>
<Address>last_waypoint</Address>
<Offsets>
<Offset>14</Offset>
</Offsets>
</CheatEntry>
<CheatEntry>
<ID>584</ID>
<Description>"WayZ"</Description>
<VariableType>Float</VariableType>
<Address>last_waypoint</Address>
<Offsets>
<Offset>18</Offset>
</Offsets>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>565</ID>
<Description>"GRAB VEHICLE COORDINATES"</Description>
<Options moHideChildren="1"/>
<LastState/>
<VariableType>Auto Assembler Script</VariableType>
<AssemblerScript>{ Game : ds.exe
Version:
Date : 2020-08-15
Author : SenorPlebeian
This script does blah blah blah
}
[ENABLE]
aobscanmodule(GRAB_VEHICLE_COORDS,ds.exe,1F * * * * C8 00 00 00 C5 F8 11 87 78 08 00 00) // should be unique
alloc(newmem,$1000,"ds.exe"+2BF86A6)
alloc(vehcoordinates, 8)
registersymbol(vehcoordinates)
label(code)
label(return)
newmem:
mov [vehcoordinates], rdi
code:
vmovups [rdi+00000878],xmm0
jmp return
GRAB_VEHICLE_COORDS+09:
jmp newmem
nop 3
return:
registersymbol(GRAB_VEHICLE_COORDS)
[DISABLE]
GRAB_VEHICLE_COORDS+09:
db C5 F8 11 87 78 08 00 00
unregistersymbol(GRAB_VEHICLE_COORDS)
unregistersymbol(vehcoordinates)
dealloc(vehcoordinates)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: "ds.exe"+2BF86A6
"ds.exe"+2BF8669: 48 8D 8F 90 08 00 00 - lea rcx,[rdi+00000890]
"ds.exe"+2BF8670: C5 F8 28 74 24 30 - vmovaps xmm6,[rsp+30]
"ds.exe"+2BF8676: 48 8B 5C 24 50 - mov rbx,[rsp+50]
"ds.exe"+2BF867B: 74 21 - je ds.exe+2BF869E
"ds.exe"+2BF867D: C5 F8 10 87 F8 08 00 00 - vmovups xmm0,[rdi+000008F8]
"ds.exe"+2BF8685: C5 F8 11 87 78 08 00 00 - vmovups [rdi+00000878],xmm0
"ds.exe"+2BF868D: C5 FB 10 8F 08 09 00 00 - vmovsd xmm1,[rdi+00000908]
"ds.exe"+2BF8695: 48 8D 87 10 09 00 00 - lea rax,[rdi+00000910]
"ds.exe"+2BF869C: EB 1F - jmp ds.exe+2BF86BD
"ds.exe"+2BF869E: C5 F8 10 87 C8 00 00 00 - vmovups xmm0,[rdi+000000C8]
// ---------- INJECTING HERE ----------
"ds.exe"+2BF86A6: C5 F8 11 87 78 08 00 00 - vmovups [rdi+00000878],xmm0
// ---------- DONE INJECTING ----------
"ds.exe"+2BF86AE: C5 FB 10 8F D8 00 00 00 - vmovsd xmm1,[rdi+000000D8]
"ds.exe"+2BF86B6: 48 8D 87 E0 00 00 00 - lea rax,[rdi+000000E0]
"ds.exe"+2BF86BD: C5 FB 11 8F 88 08 00 00 - vmovsd [rdi+00000888],xmm1
"ds.exe"+2BF86C5: 48 3B C8 - cmp rcx,rax
"ds.exe"+2BF86C8: 74 0E - je ds.exe+2BF86D8
"ds.exe"+2BF86CA: C5 FC 10 00 - vmovups ymm0,[rax]
"ds.exe"+2BF86CE: C5 FC 11 01 - vmovups [rcx],ymm0
"ds.exe"+2BF86D2: 8B 40 20 - mov eax,[rax+20]
"ds.exe"+2BF86D5: 89 41 20 - mov [rcx+20],eax
"ds.exe"+2BF86D8: 83 8F 38 05 00 00 04 - or dword ptr [rdi+00000538],04
}
</AssemblerScript>
<CheatEntries>
<CheatEntry>
<ID>566</ID>
<Description>"Veh X"</Description>
<Options moRecursiveSetValue="1"/>
<VariableType>Double</VariableType>
<Address>vehcoordinates</Address>
<Offsets>
<Offset>878</Offset>
</Offsets>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>99</Key>
</Keys>
<Value>(WayX)</Value>
<ID>0</ID>
</Hotkey>
</Hotkeys>
<CheatEntries>
<CheatEntry>
<ID>575</ID>
<Description>"Secondary Veh X"</Description>
<VariableType>Double</VariableType>
<Address>-7B0</Address>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>99</Key>
</Keys>
<Value>(WayX)</Value>
<ID>0</ID>
</Hotkey>
</Hotkeys>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>573</ID>
<Description>"Veh Y"</Description>
<Options moRecursiveSetValue="1"/>
<VariableType>Double</VariableType>
<Address>vehcoordinates</Address>
<Offsets>
<Offset>880</Offset>
</Offsets>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>99</Key>
</Keys>
<Value>(WayY)</Value>
<ID>0</ID>
</Hotkey>
</Hotkeys>
<CheatEntries>
<CheatEntry>
<ID>576</ID>
<Description>"Secondary Veh Y"</Description>
<VariableType>Double</VariableType>
<Address>-7B0</Address>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>99</Key>
</Keys>
<Value>(WayY)</Value>
<ID>0</ID>
</Hotkey>
</Hotkeys>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>574</ID>
<Description>"Veh Z"</Description>
<Options moRecursiveSetValue="1"/>
<VariableType>Double</VariableType>
<Address>vehcoordinates</Address>
<Offsets>
<Offset>888</Offset>
</Offsets>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>99</Key>
</Keys>
<Value>(WayZ)</Value>
<ID>0</ID>
</Hotkey>
</Hotkeys>
<CheatEntries>
<CheatEntry>
<ID>577</ID>
<Description>"Secondary Veh Z"</Description>
<VariableType>Double</VariableType>
<Address>-7B0</Address>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>99</Key>
</Keys>
<Value>(WayZ)</Value>
<ID>0</ID>
</Hotkey>
</Hotkeys>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>