What I know, is how to use CLEO to read an adress and modify it, keeping in mind the data type etc...
|0A8D: [email protected] = read_memory 0x863984 size 4 virtual_protect 1|
000B: [email protected] += -0.001
0A8C: write_memory 0x863984 size 4 value [email protected] virtual_protect 1
But I'm having trouble understanding this kinda stuff...
|0AA5: call 0x5893B0 num_params 4 pop 4 0 0 0 [email protected]|
From my understanding, it calls an address and you can set a number of parameters and then edit each one... But what is pop? And could someone possibly give me an example of this opcode in use and tell me what it effects?
|0A9F: [email protected] = current_thread_pointer|
000A: [email protected] += 0x10
So, it stores the memory address "pointer" of the thread, right? What does += 0x10 do and why would it be used? Is it to add to the address so you get something relevant in number to it? Say, the address of Jim is 5 add 10 (or 0x10) and you find Bob?
|0A8D: [email protected] = read_memory [email protected] size 4 virtual_protect 0|
000E: [email protected] -= @LABEL
000A: [email protected] += 4
0A8C: write_memory [email protected] size 1 value [email protected] virtual_protect 0
Eh? How is it possible to use a label in math and what would give someone the logic to minus a thread and plus 4, to get a desired effect? How would I eventually learn how to know what it does?
Maybe I'm complicating things... But I just know that 0x000000 is an address that stores value of game data. Then, we can edit it to edit the corresponding data. Have no clue how the math ties in with it.
So if anyone can help, I'll be greatful Thanks.