 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
descatal Newbie cheater
Reputation: 0
Joined: 28 Jul 2019 Posts: 18
|
Posted: Sun Jul 28, 2019 7:29 am Post subject: Insert byte (data) into memory |
|
|
Hi, first time poster here. Sorry if this question sounds stupid, but is it possible to insert data into a memory using hex editor?
If it sounds confusing let me give you a more context.
So currently I am trying to modify a melee movesets of a character that I am playing, and this character have a 4 part melee combo (4 consecutive slashes) depending on the number of the melee button input.
So what I am trying to do here is to add another slash into the moveset of the character melee moveset, making it a 5 slash combo. However, the moveset address that I found in the game is structured in a way like this (each is 4 byte, separated by comma):
1st Melee identifier, 1st Melee Properties, 2nd Melee identifier, 2nd Melee Properties, 3rd Melee identifier, 3rd Melee Properties, 4th Melee identifier, 4th Melee Properties
Hence when press the melee button for 4 times it will go like this:
1st slash -> 2nd slash -> 3rd slash -> 4th slash
So what I am trying to do here is to insert an additional melee identifier alongside its melee properties on the 3rd slash. I am successful in modifying the 4th slash into the additional melee by changing the 4th slash melee identifier to the additional melee identifier alongside its properties, and it becomes:
1st slash -> 2nd slash -> 3rd slash -> modified slash
But the 4th slash is gone as a result, which is not my desired result. Hence I wanna ask if there is a way for me to insert the additional byte into the memory stream without altering data at the back. |
|
| Back to top |
|
 |
FreeER Grandmaster Cheater Supreme
Reputation: 53
Joined: 09 Aug 2013 Posts: 1091
|
Posted: Sun Jul 28, 2019 8:34 am Post subject: |
|
|
probably not easily. Memory has to be read by something which means it needs to know where to start reading and what to read, if you start adding or removing bytes anywhere that affects the address of everything around and and there's no guarantee the code knows to read that byte anyway (or not to in the case of removing bytes).
If it's a pointer to the data you'd likely have more luck allocating new memory with the move set you want and changing the pointer to point to it. But if the game code is written to only read 4 moves it won't matter if you have more unless you also change the game code for it to read more moves. _________________
|
|
| Back to top |
|
 |
descatal Newbie cheater
Reputation: 0
Joined: 28 Jul 2019 Posts: 18
|
Posted: Sun Jul 28, 2019 9:21 am Post subject: |
|
|
Thank you for the quick response. So I guess it is quite unfortunate that there is no quick way to achieve what I wanted.
However, I would like to clarify a bit on the memory read thingy. There is actually an start / stop identifier for each moveset combos, denoted by a 2 byte hex of "8A". To my surprise, the game actually uses the identifier to know if the moveset has ended, so I guess the melee identifier and properties are not "bound" to a specific address, but to the "8A" identifier which is weird. I can actually accomplish what I wanted with this method by elongating the first melee moveset with the additional melee identifier and properties but by doing so will actually affect my second melee moveset, which is right behind it.
So I guess my only option is to copy all the melee moveset memories and all the data behind it until it reaches a blank memory region (which is super long by the way) and modify it from there. |
|
| Back to top |
|
 |
|
|
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
|
|