Page 1 of 1

(Help) Updating a script 7 Days to Die

Posted: Sun May 30, 2021 9:11 am
by xBLOODLUSTx666
I'm tring to figure out how to update a script for 7 days to die. This is the original script but i can't seem to find the new address or bytes

Code: Select all

//488B80xxxxxxxx488B4018488BC8833800488D6424009049BBxxxxxxxxxxxxxxxx41FFD3F3xxxxC0
define(address,EntityAlive:get_Stamina+f )
define(bytes,48 8B 80 B0 05 00 00)

[ENABLE]

assert(address,bytes)
alloc(newmem,$1000,EntityAlive:get_Stamina+f )

label(code)
label(return)

newmem:
  mov rax,[rax+000005B0]  // EntityStats
  cmp [rax+91],1          // m_isEntityPlayer
  jne return
  mov rcx,[rax+18]
  movss xmm0, [rcx+20]    // m_baseMax (type: System.Single)
  movss [rcx+2c], xmm0    // m_value (type: System.Single)

code:
  jmp return

address:
  jmp newmem
  nop 2
return:

[DISABLE]

address:
  db bytes
  // mov rax,[rax+000005B0]

dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: EntityAlive:get_Stamina+f 

22BDFCE43: 05 04 03 01 50                 -  add eax,50010304
22BDFCE48: 00 00                          -  add [rax],al
22BDFCE4A: 00 00                          -  add [rax],al
22BDFCE4C: 00 00                          -  add [rax],al
22BDFCE4E: 00 00                          -  add [rax],al
22BDFCE50: 55                             -  push rbp
22BDFCE51: 48 8B EC                       -  mov rbp,rsp
22BDFCE54: 48 83 EC 30                    -  sub rsp,30
22BDFCE58: 48 89 4D F8                    -  mov [rbp-08],rcx
22BDFCE5C: 48 8B C1                       -  mov rax,rcx
// ---------- INJECTING HERE ----------
22BDFCE5F: 48 8B 80 B0 05 00 00           -  mov rax,[rax+000005B0]
// ---------- DONE INJECTING  ----------
22BDFCE66: 48 8B 40 18                    -  mov rax,[rax+18]
22BDFCE6A: 48 8B C8                       -  mov rcx,rax
22BDFCE6D: 83 38 00                       -  cmp dword ptr [rax],00
22BDFCE70: 48 8D 64 24 00                 -  lea rsp,[rsp+00]
22BDFCE75: 90                             -  nop 
22BDFCE76: 49 BB 40 3B E0 11 02 00 00 00  -  mov r11,0000000211E03B40
22BDFCE80: 41 FF D3                       -  call r11
22BDFCE83: F3 0F 5A C0                    -  cvtss2sd xmm0,xmm0
22BDFCE87: F2 0F 5A C0                    -  cvtsd2ss xmm0,xmm0
22BDFCE8B: 48 8D 65 00                    -  lea rsp,[rbp+00]
}

Re: (Help) Updating a script 7 Days to Die

Posted: Sun May 30, 2021 2:34 pm
by ShyTwig16
You'll have to refind the value and use that to refind the injection point or you can use the commented out code and try different AOBs tell you find the injection point. But this looks like the address might be from a mono based game, if so make sure the code gets JITed meaning do stuff that manipulates the value and the address should be close if not the same.

Re: (Help) Updating a script 7 Days to Die

Posted: Sun May 30, 2021 11:43 pm
by xBLOODLUSTx666
ShyTwig16 wrote:
Sun May 30, 2021 2:34 pm
You'll have to refind the value and use that to refind the injection point or you can use the commented out code and try different AOBs tell you find the injection point. But this looks like the address might be from a mono based game, if so make sure the code gets JITed meaning do stuff that manipulates the value and the address should be close if not the same.
I just cant seem to find it at all ive looked for hours

Re: (Help) Updating a script 7 Days to Die

Posted: Mon May 31, 2021 10:37 am
by MBRKiNG
xBLOODLUSTx666 wrote:
Sun May 30, 2021 11:43 pm
ShyTwig16 wrote:
Sun May 30, 2021 2:34 pm
You'll have to refind the value and use that to refind the injection point or you can use the commented out code and try different AOBs tell you find the injection point. But this looks like the address might be from a mono based game, if so make sure the code gets JITed meaning do stuff that manipulates the value and the address should be close if not the same.
I just cant seem to find it at all ive looked for hours
like tim said change some bytes to get the new address or use mono, most people dont know nothing about mono features and its really easy to use.

it will take seconds to update scripts using mono.
enable mono and jump to this address EntityAlive:get_Stamina+f or use aob.

48 8B C1 48 8B 80 ** ** 00 00 48 8B 40 ** 48 8B C8 83 38 00 48 8D 64 24 00 90
aob above gave me 3 results 3rd one was the right



here is the updated code without aob scan

Code: Select all


define(address,EntityAlive:get_Stamina+f )
define(bytes,48 8B 80 C0 05 00 00)

[ENABLE]
{$lua}
LaunchMonoDataCollector()
{$asm}
assert(address,bytes)
alloc(newmem,$1000,EntityAlive:get_Stamina+f )

label(code)
label(return)

newmem:
  mov rax,[rax+000005C0]  // EntityStats
  cmp [rax+91],1          // m_isEntityPlayer
  jne return
  mov rcx,[rax+18]
  movss xmm0, [rcx+20]    // m_baseMax Stamina rcx+20
  movss [rcx+2c], xmm0    // m_value current stamina rcx+2c
code:
  jmp return

address:
  jmp newmem
  nop 2
return:

[DISABLE]

address:
  db bytes
  // mov rax,[rax+000005C0]

dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: EntityAlive:get_Stamina+f

190A6DF2D33: 05 04 03 01 50                 - add eax,50010304
190A6DF2D38: 00 00                          - add [rax],al
190A6DF2D3A: 00 00                          - add [rax],al
190A6DF2D3C: 00 00                          - add [rax],al
190A6DF2D3E: 00 00                          - add [rax],al
EntityAlive:get_Stamina: 55                             - push rbp
EntityAlive:get_Stamina+1: 48 8B EC                       - mov rbp,rsp
EntityAlive:get_Stamina+4: 48 83 EC 30                    - sub rsp,30
EntityAlive:get_Stamina+8: 48 89 4D F8                    - mov [rbp-08],rcx
EntityAlive:get_Stamina+c: 48 8B C1                       - mov rax,rcx
// ---------- INJECTING HERE ----------
EntityAlive:get_Stamina+f: 48 8B 80 C0 05 00 00           - mov rax,[rax+000005C0]
// ---------- DONE INJECTING  ----------
EntityAlive:get_Stamina+16: 48 8B 40 18                    - mov rax,[rax+18]
EntityAlive:get_Stamina+1a: 48 8B C8                       - mov rcx,rax
EntityAlive:get_Stamina+1d: 83 38 00                       - cmp dword ptr [rax],00
EntityAlive:get_Stamina+20: 48 8D 64 24 00                 - lea rsp,[rsp+00]
EntityAlive:get_Stamina+25: 90                             - nop 
EntityAlive:get_Stamina+26: 49 BB B0 E5 47 75 90 01 00 00  - mov r11,Stat:get_Value
EntityAlive:get_Stamina+30: 41 FF D3                       - call r11
EntityAlive:get_Stamina+33: F3 0F 5A C0                    - cvtss2sd xmm0,xmm0
EntityAlive:get_Stamina+37: F2 0F 5A C0                    - cvtsd2ss xmm0,xmm0
EntityAlive:get_Stamina+3b: 48 8D 65 00                    - lea rsp,[rbp+00]
}