[REQUEST] Pacific Drive
Re: [REQUEST] Pacific Drive
Any scripts for thes Stable unstable Energie? I scan the NR so many time but i get nothing back i try with "3,5" and "3.5" and i try unknowen inital nr to get downt to it with, decrease or increase vaule but no sucsess
Re: [REQUEST] Pacific Drive
they multiply it by 100 and i believe its 4 bytes. so, 3.5 energy would be 350
Re: [REQUEST] Pacific Drive
-
- Cheater
- Posts: 49
- Joined: Sun Jul 23, 2023 12:50 pm
- Reputation: 11
Re: [REQUEST] Pacific Drive
Anyone find the datatype for scanner charges?
-
- Noobzor
- Posts: 7
- Joined: Tue Jun 28, 2022 11:43 am
- Reputation: 1
Re: [REQUEST] Pacific Drive
4 bytes, start with 1 after using 1 charge, use 2nd, search for 2 etc. Didn't figure out the pointer to it.
-
- Cheater
- Posts: 49
- Joined: Sun Jul 23, 2023 12:50 pm
- Reputation: 11
Re: [REQUEST] Pacific Drive
I'm searching incorrectly then as I did the opposite and looked for the last number. Thanks.
Re: [REQUEST] Pacific Drive
Me too, I searched like 3->2->1 lol. Now searching by charges usedBlueskadoo wrote: ↑Tue Mar 05, 2024 11:32 amI'm searching incorrectly then as I did the opposite and looked for the last number. Thanks.
Turns out your current total scanner charges is 4 bytes above the used charges
Eg..
142AD8E58F0 = used charges
142AD8E58F4 = total charges
Quickest way to find from scratch is search using "Array of byte". If your total is 3 scanner charges & none been used yet, search for (hex) 00 00 00 00 03 00 00 00. Then after using 1 charge, refine search to 01 00 00 00 03 00 00 00, and so on...
Tried to isolate code that checks the scanner charges but too difficult, the addresses are all written by the damn VCRUNTIME memcpy stuff that needs tons of backtracing
Re: [REQUEST] Pacific Drive
The kLIM in the car's ARC device is in float.DrStalker wrote: ↑Sun Feb 25, 2024 2:11 amI've not tested to see if this also applies to energy stored in the car, but the amount of kLim is shown on lower right of the arc system's screen. I think that is a combined value of all energy types, but I assume the individual energy types would be tracked separately.
If starting from 0.0 kLim, absorb one stable anchor until kLim is above 0. Then start your search , example if current kLim is 1.1, I'd search floats between 1.0 and 1.2.
Continue to absorb kLims to narrow down results.
Finally, you'll get 6 identical results - one of it is the true one, you increase its value and you'll see the kLim vertical tube on the right increase its' levels. However the digit display of kLim will not reflect your changes until you absorb another one.
This is all on stable energy only, I haven't discovered unstable/corrupt so those may work differently.
Re: [REQUEST] Pacific Drive
Thanks to DrStalker finding out the energy value is an integer that is 100 times the displayed value (i.e. if it says 3.8 stable energy you look for integer 380), here's a script that prevents it from going down when you research. I haven't gotten far in the game and only have stable energy, and the +18 and +36 addresses had different numbers so I'm guessing that trick doesn't work until you've found some in game at least once, or the offsets changed. The code seems to only be executed when saving the stable energy and prevents it from being updated, but I bet it is a generic save value routine so probably won't let it be increased either so only activate it when researching things.
EDIT: Ok, so this does affect adding to your energy, and all energy types. Found that out the hard way after the first mission where I got unstable and corrupted energy and left that script on so it didn't add it when I got back to base. This *should* fix that by only setting the value if it is larger. It also gives a pointer to the value for the energy type used in the research or fabrication, so add a new table entry with the address 'pStableEnergy' and the pointer type to a 4 byte value to be able to edit it after doing some research.
Code: Select all
{ Game : PenDriverPro-Win64-Shipping.exe
Version:
Date : 2024-05-29
Author : jason
Used when researching to write the new value for stable energy, not sure
if it is also used to add to the energy...
}
[ENABLE]
aobscanmodule(INJECT_STABLE_ENERGY_USE,PenDriverPro-Win64-Shipping.exe,48 89 01 48 8B 44 24 50 48 83) // should be unique
alloc(newmem,$1000,INJECT_STABLE_ENERGY_USE)
label(code)
label(return)
newmem:
code:
// mov [rcx],rax
mov rax,[rsp+50]
jmp return
INJECT_STABLE_ENERGY_USE:
jmp newmem
nop 3
return:
registersymbol(INJECT_STABLE_ENERGY_USE)
[DISABLE]
INJECT_STABLE_ENERGY_USE:
db 48 89 01 48 8B 44 24 50
unregistersymbol(INJECT_STABLE_ENERGY_USE)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: PenDriverPro-Win64-Shipping.exe+ECDA19
PenDriverPro-Win64-Shipping.exe+ECD9EA: 48 8B C8 - mov rcx,rax
PenDriverPro-Win64-Shipping.exe+ECD9ED: E8 5E CB FE FF - call PenDriverPro-Win64-Shipping.exe+EBA550
PenDriverPro-Win64-Shipping.exe+ECD9F2: 48 89 44 24 28 - mov [rsp+28],rax
PenDriverPro-Win64-Shipping.exe+ECD9F7: F3 0F 10 44 24 60 - movss xmm0,[rsp+60]
PenDriverPro-Win64-Shipping.exe+ECD9FD: E8 2E 7E 00 00 - call PenDriverPro-Win64-Shipping.exe+ED5830
PenDriverPro-Win64-Shipping.exe+ECDA02: 48 89 44 24 38 - mov [rsp+38],rax
PenDriverPro-Win64-Shipping.exe+ECDA07: 48 8B 44 24 28 - mov rax,[rsp+28]
PenDriverPro-Win64-Shipping.exe+ECDA0C: 48 8B 00 - mov rax,[rax]
PenDriverPro-Win64-Shipping.exe+ECDA0F: 48 03 44 24 38 - add rax,[rsp+38]
PenDriverPro-Win64-Shipping.exe+ECDA14: 48 8B 4C 24 28 - mov rcx,[rsp+28]
// ---------- INJECTING HERE ----------
PenDriverPro-Win64-Shipping.exe+ECDA19: 48 89 01 - mov [rcx],rax
// ---------- DONE INJECTING ----------
PenDriverPro-Win64-Shipping.exe+ECDA1C: 48 8B 44 24 50 - mov rax,[rsp+50]
PenDriverPro-Win64-Shipping.exe+ECDA21: 48 83 C0 18 - add rax,18
PenDriverPro-Win64-Shipping.exe+ECDA25: F3 0F 10 54 24 60 - movss xmm2,[rsp+60]
PenDriverPro-Win64-Shipping.exe+ECDA2B: 48 8B 54 24 58 - mov rdx,[rsp+58]
PenDriverPro-Win64-Shipping.exe+ECDA30: 48 8B C8 - mov rcx,rax
PenDriverPro-Win64-Shipping.exe+ECDA33: E8 78 9E FF FF - call PenDriverPro-Win64-Shipping.exe+EC78B0
PenDriverPro-Win64-Shipping.exe+ECDA38: 48 83 C4 48 - add rsp,48
PenDriverPro-Win64-Shipping.exe+ECDA3C: C3 - ret
PenDriverPro-Win64-Shipping.exe+ECDA3D: CC - int 3
PenDriverPro-Win64-Shipping.exe+ECDA3E: CC - int 3
}
Code: Select all
{ Game : PenDriverPro-Win64-Shipping.exe
Version:
Date : 2024-05-29
Author : jason
Used when researchign to write the new value for stable energy, not sure
if it is also used to add to the energy...
}
[ENABLE]
aobscanmodule(INJECT_STABLE_ENERGY_USE,PenDriverPro-Win64-Shipping.exe,48 89 01 48 8B 44 24 50 48 83) // should be unique
alloc(newmem,$1000,INJECT_STABLE_ENERGY_USE)
label(code)
label(return)
label(pStableEnergy)
newmem:
code:
mov [pStableEnergy],rcx
cmp rax,[rcx]
jng @f
mov [rcx],rax
@@:
mov rax,[rsp+50]
jmp return
align 10
pStableEnergy:
dq 0
INJECT_STABLE_ENERGY_USE:
jmp newmem
nop 3
return:
registersymbol(INJECT_STABLE_ENERGY_USE)
registersymbol(pStableEnergy)
[DISABLE]
INJECT_STABLE_ENERGY_USE:
db 48 89 01 48 8B 44 24 50
unregistersymbol(INJECT_STABLE_ENERGY_USE)
unregistersymbol(pStableEnergy)
dealloc(newmem)
mov [rcx],rax
mov rax,[rsp+50]
{
// ORIGINAL CODE - INJECTION POINT: PenDriverPro-Win64-Shipping.exe+ECDA19
PenDriverPro-Win64-Shipping.exe+ECD9EA: 48 8B C8 - mov rcx,rax
PenDriverPro-Win64-Shipping.exe+ECD9ED: E8 5E CB FE FF - call PenDriverPro-Win64-Shipping.exe+EBA550
PenDriverPro-Win64-Shipping.exe+ECD9F2: 48 89 44 24 28 - mov [rsp+28],rax
PenDriverPro-Win64-Shipping.exe+ECD9F7: F3 0F 10 44 24 60 - movss xmm0,[rsp+60]
PenDriverPro-Win64-Shipping.exe+ECD9FD: E8 2E 7E 00 00 - call PenDriverPro-Win64-Shipping.exe+ED5830
PenDriverPro-Win64-Shipping.exe+ECDA02: 48 89 44 24 38 - mov [rsp+38],rax
PenDriverPro-Win64-Shipping.exe+ECDA07: 48 8B 44 24 28 - mov rax,[rsp+28]
PenDriverPro-Win64-Shipping.exe+ECDA0C: 48 8B 00 - mov rax,[rax]
PenDriverPro-Win64-Shipping.exe+ECDA0F: 48 03 44 24 38 - add rax,[rsp+38]
PenDriverPro-Win64-Shipping.exe+ECDA14: 48 8B 4C 24 28 - mov rcx,[rsp+28]
// ---------- INJECTING HERE ----------
PenDriverPro-Win64-Shipping.exe+ECDA19: 48 89 01 - mov [rcx],rax
// ---------- DONE INJECTING ----------
PenDriverPro-Win64-Shipping.exe+ECDA1C: 48 8B 44 24 50 - mov rax,[rsp+50]
PenDriverPro-Win64-Shipping.exe+ECDA21: 48 83 C0 18 - add rax,18
PenDriverPro-Win64-Shipping.exe+ECDA25: F3 0F 10 54 24 60 - movss xmm2,[rsp+60]
PenDriverPro-Win64-Shipping.exe+ECDA2B: 48 8B 54 24 58 - mov rdx,[rsp+58]
PenDriverPro-Win64-Shipping.exe+ECDA30: 48 8B C8 - mov rcx,rax
PenDriverPro-Win64-Shipping.exe+ECDA33: E8 78 9E FF FF - call PenDriverPro-Win64-Shipping.exe+EC78B0
PenDriverPro-Win64-Shipping.exe+ECDA38: 48 83 C4 48 - add rsp,48
PenDriverPro-Win64-Shipping.exe+ECDA3C: C3 - ret
PenDriverPro-Win64-Shipping.exe+ECDA3D: CC - int 3
PenDriverPro-Win64-Shipping.exe+ECDA3E: CC - int 3
}
Who is online
Users browsing this forum: No registered users