New to game hacking (maybe intermediate level). Clarification..
Posted: Mon Jan 23, 2023 4:24 pm
Hey all, I'm somewhat new to game hacking. I feel I am somewhere in-between beginner/intermediate level. Also to note, this is my first post. Please take me out to dinner before handing me my ***.
Anyway, I know how to scan addresses, find reliable pointers and have played with AOB script's, code injections and now I'm trying to grasp the concept of assembly and how the code is laid out. So the point of this post is to make sure I'm on the right track in the understanding, to correct any miss information before they become a bad habits, and to get clarification on other relevant aspects of assembly.
For example, let say our code is:
mov [rsi+08],rbx
from my understanding we have mov(move) the value of rbx into rsi with a offset of 08. Also, we know [rsi+08] is an address because of the []'s leaving rbx as a registry. (registries are stored in the processer, addresses are in ram that was copied from the exe/dll(that's also in ram now)). If this information is correct my questions are;
-If something is in-between []'s, is it guaranteed to be an address and alike, if its outside of the []'s, that's a registry?
-If rbx is a registry, does that mean rax, rcx, rdx, etc. and the xmm0-12 (I cant remember how many xmms we have) are also registries?
-Last, can registries be edited? I know the base addresses can't, or at least by my understanding they can't/shouldn't be edited.
(Nevermind, I just figured out they can be edited)
Any input is more than greatly appreciated so really, thanks for your time!!!
Anyway, I know how to scan addresses, find reliable pointers and have played with AOB script's, code injections and now I'm trying to grasp the concept of assembly and how the code is laid out. So the point of this post is to make sure I'm on the right track in the understanding, to correct any miss information before they become a bad habits, and to get clarification on other relevant aspects of assembly.
For example, let say our code is:
mov [rsi+08],rbx
from my understanding we have mov(move) the value of rbx into rsi with a offset of 08. Also, we know [rsi+08] is an address because of the []'s leaving rbx as a registry. (registries are stored in the processer, addresses are in ram that was copied from the exe/dll(that's also in ram now)). If this information is correct my questions are;
-If something is in-between []'s, is it guaranteed to be an address and alike, if its outside of the []'s, that's a registry?
-If rbx is a registry, does that mean rax, rcx, rdx, etc. and the xmm0-12 (I cant remember how many xmms we have) are also registries?
-Last, can registries be edited? I know the base addresses can't, or at least by my understanding they can't/shouldn't be edited.
(Nevermind, I just figured out they can be edited)
Any input is more than greatly appreciated so really, thanks for your time!!!