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 


Stuck on the meaning of this code line - what does it mean?

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

Joined: 31 Mar 2016
Posts: 6

PostPosted: Tue Apr 05, 2016 1:18 am    Post subject: Stuck on the meaning of this code line - what does it mean? Reply with quote

Hi, so I was looking at some values in a game. And ive been stuck on this value for a week now. I simply cant understand what it means, can anyone help me?

The address im interested in is:
072905F9 - mov eax, [ebx+00000170]

As far as I understand it to be, it is copying the value of [ebx+00000170] to eax. As you can see in the picture, eax is 23 whereas ebx is 50. So how exactly does it work that 50+170 > 23??



ce ss.png
 Description:
 Filesize:  39.48 KB
 Viewed:  5072 Time(s)

ce ss.png


Back to top
View user's profile Send private message
Redouane
Master Cheater
Reputation: 3

Joined: 05 Sep 2013
Posts: 363
Location: Algeria

PostPosted: Tue Apr 05, 2016 4:49 am    Post subject: Re: Stuck on the meaning of this code line - what does it me Reply with quote

lmfinley wrote:
Hi, so I was looking at some values in a game. And ive been stuck on this value for a week now. I simply cant understand what it means, can anyone help me?

The address im interested in is:
072905F9 - mov eax, [ebx+00000170]

As far as I understand it to be, it is copying the value of [ebx+00000170] to eax. As you can see in the picture, eax is 23 whereas ebx is 50. So how exactly does it work that 50+170 > 23??


EBX = 0x0D8430D0
EBX + 0x170 = 0x0D843240
mov eax,[ebx + 170] will be mov eax,[0D843240]
It will overwrite the previous value of eax (0x23) with the value at address 0D843240 (check it out in the memory viewer).
Back to top
View user's profile Send private message
lmfinley
How do I cheat?
Reputation: 0

Joined: 31 Mar 2016
Posts: 6

PostPosted: Tue Apr 05, 2016 12:44 pm    Post subject: Reply with quote

hmm, I went and look at the address like you suggested. It pointed me to a fixed value of 20. But the value of eax changes with every hit. I tried re-tracing to see whether the pointer changes with every hit, but no, it stays the same. It copies the value of 20 every round to eax but eax is never 20.

any idea why that is? thanks in advance
Back to top
View user's profile Send private message
Redouane
Master Cheater
Reputation: 3

Joined: 05 Sep 2013
Posts: 363
Location: Algeria

PostPosted: Tue Apr 05, 2016 5:01 pm    Post subject: Reply with quote

lmfinley wrote:
hmm, I went and look at the address like you suggested. It pointed me to a fixed value of 20. But the value of eax changes with every hit. I tried re-tracing to see whether the pointer changes with every hit, but no, it stays the same. It copies the value of 20 every round to eax but eax is never 20.

any idea why that is? thanks in advance


Seeing your code, that instruction shouldn't move 20 to eax, it moves 4 bytes of data, not a single byte, for example, if you find this in the memory browser:
0D843240 -> 20 C8 45 0E XX XX XX ...
then mov eax,[0D843240] will move 0E45C820 to eax, because the 4 bytes at 0D843240 represent that value (0x0E45C820).

(then it tests if eax is 0 to prevent a (mov ecx,[8]) which would most likely crash the program)
Back to top
View user's profile Send private message
lmfinley
How do I cheat?
Reputation: 0

Joined: 31 Mar 2016
Posts: 6

PostPosted: Wed Apr 06, 2016 3:56 am    Post subject: Reply with quote

I must thank you for the replies, it has been helpful in furthering my understanding of the codes.

however, I am stumbled once again when I view the 4bytes code. as it gives a value like 230799392 in decimal or, 0DC1B820 in hex. And if I go to that address, it points to a value like 66DDF450, and if I go to that address, it points to a base address (its in green color, so I assume its the base) of 66666FB0.

so, mov eax, [ebx+00000170] essentially is 66667120. I am still puzzled as to how the value in eax is always 000000xx, where xx = numbers.

is there some place else that is affecting the value at the address that I need to find?
Back to top
View user's profile Send private message
Redouane
Master Cheater
Reputation: 3

Joined: 05 Sep 2013
Posts: 363
Location: Algeria

PostPosted: Thu Apr 07, 2016 3:18 am    Post subject: Reply with quote

lmfinley wrote:
I must thank you for the replies, it has been helpful in furthering my understanding of the codes.

however, I am stumbled once again when I view the 4bytes code. as it gives a value like 230799392 in decimal or, 0DC1B820 in hex. And if I go to that address, it points to a value like 66DDF450, and if I go to that address, it points to a base address (its in green color, so I assume its the base) of 66666FB0.

so, mov eax, [ebx+00000170] essentially is 66667120. I am still puzzled as to how the value in eax is always 000000xx, where xx = numbers.

is there some place else that is affecting the value at the address that I need to find?


Provided that the application does not crash, the value of eax isn't of the form 000000xx (it's used as a pointer, it then checks if it's 0).

Choose the next instruction (test eax,eax), and check the value of eax, on breakpoints, registers are only logged before the execution of the instruction that EIP points to.
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