Okay let's take an example again. I saw that someone replied to you, the offsets start at 00000000. So that means you don't have to do any conversion I believe.
Let us take the mailbox example again. Offsets are 0x057e8c & 0x057e95. The value for a golden mailbox is 06.
In HxD, press Ctrl+G to find the offsets.
This is how you read them in a hex editor:
You can see that my value is 12. We are going to turn that into 06 (the golden mailbox).
Now if you find the guide I linked in my first post above, it will show you the format that you will write the codes in, which is:
write(0x<OFFSET>, (0x<VALUE>, 0x<VALUE> ,0x<VALUE> ,0x<VALUE>), pid=0x<PID>)
To get the PID of the game, you have to write "listprocess()" in the debugger while the game is on.
So, you would write the code to get the gold mailbox as:
write(0x057e8c, (0x06, 0x00 ,0x00 ,0x00), pid=0x
PID)
write(0x057e95, (0x06, 0x00 ,0x00 ,0x00), pid=0x
PID)
but those extra zeroes will make the three values before 8c & 95 "00".
So I will tag
@liomajor here to ask how exactly to write a single byte at 8c & 95 only. I'm not sure, but I think it's either the following:
write(0x057e8c, (0x06), pid=0x
PID)
write(0x057e95, (0x06), pid=0x
PID)
OR
write(2x057e8c, (0x06), pid=0x
PID)
write(2x057e95, (0x06), pid=0x
PID)
Edit: I forgot, to compare your ram dumps, open both dumps in HxD and then go to Analysis->File-Compare
Then navigate to each offset that has a different value and just input the offset and value in the debugger as shown above.