Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Help!! Changing byte value with mov [rax]

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Yuuki's
How do I cheat?
Reputation: 0

Joined: 14 Feb 2021
Posts: 6

PostPosted: Wed Mar 31, 2021 11:31 am    Post subject: Help!! Changing byte value with mov [rax] Reply with quote

# Introduction

Hi! Im new to assembly code and appearently i've made some string changes using Array of Byte. Anyway, it was supposed to change in-game nickname (LAN only). Later on i've made some pointer scanning on that address and finally got the right value

# Problematic

The thing is.. the nickname always be updated to original nickname of the signed in account upon entering new dimension using portals. So i checked "what writes to this address" and surprisingly, there's only 1 address that writes to it (usually it has 1-5). So the bytes that writes to that address is :
Code:
 4C 89 00 - mov [rax],r8


from the code tree here :
Code:
4C 8B 02 - mov r8,[rdx]
8B 4A 08 - mov ecx,[rdx+08]
8C 89 00 - mov [rax],r8] //that writes the address
89 48 08 - mox [rax+08],ecx]
C3 - ret


The problem is, upon using AoB injection or Full Injection, the game will crash if i add the float value.

Code:
define(address,"VCRUNTIME140_APP.dll"+1436)
define(bytes,4C 89 00 89 48 08)

[ENABLE]

assert(address,bytes)
alloc(newmem,$1000,"VCRUNTIME140_APP.dll"+1436)

label(code)
label(return)

newmem:
  mov [rax],(float)3.173248742E35 //nickname in float
  mov [rax+08],ecx
  jmp code

code:
  mov [rax],r8
  mov [rax+08],ecx
  jmp return

address:
  jmp newmem
  nop
return:

[DISABLE]

address:
  db bytes
  // mov [rax],r8
  // mov [rax+08],ecx

dealloc(newmem)


The float value is supposed to be changing the bytes since i cant push it directly to make the address writes the specific bytes. The point is, i used float as a string that contain the new nickname. I know its not ideal but i didnt know the workaround for that.

I hope you guys can help me Sad
Back to top
View user's profile Send private message
sbryzl
Master Cheater
Reputation: 6

Joined: 25 Jul 2016
Posts: 252

PostPosted: Wed Mar 31, 2021 5:17 pm    Post subject: Reply with quote

I can guarantee you whatever you are writing to the address pointed to by [rax] is not crashing the game. It's also not doing anything else because almost immediately after you write your own value to [rax] you run the original operation which overwrites it with the value in r8.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites