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 


Can CE do multiplicative pointers?

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

Joined: 22 Mar 2006
Posts: 2

PostPosted: Wed Mar 22, 2006 2:57 am    Post subject: Can CE do multiplicative pointers? Reply with quote

Hello all.

I just ran into a type of pointer I've never used CE to hack. Any advice on how to set up a pointer for this bad boy?

mov [eax+edi*8+04],ecx


EAX changes, and EDI changes upon reload of the software.
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 458

Joined: 09 May 2003
Posts: 25288
Location: The netherlands

PostPosted: Wed Mar 22, 2006 4:41 am    Post subject: Reply with quote

No, tracking EDI isn't possible with ce. (it is but you'll have to resort to code injection)
But it is still possible to use this instruction for pointers. You may notice that for the same object and element of the object edi is always the same value (0, 1 or 2) so just add that value to the offset. so if edi is always 1 then use as offset 1*8+4=c . if it is 2 then use as offset 2*8+4=14, ....

and for those that want more info: (ignore this if you're not interested in assembler)
mov [eax+edi*8+04],ecx

eax holds the base pointer
edi*8 is a pointer to a ellement in a array, in this case the array consists out of objects that are 8 bytes long. (probably a structure in this case)
+4 means that it points to the center of the element in that array.

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
Spazzin
How do I cheat?
Reputation: 0

Joined: 22 Mar 2006
Posts: 2

PostPosted: Wed Mar 22, 2006 6:49 am    Post subject: Reply with quote

Dark Byte wrote:
No, tracking EDI isn't possible with ce. (it is but you'll have to resort to code injection)
But it is still possible to use this instruction for pointers. You may notice that for the same object and element of the object edi is always the same value (0, 1 or 2) so just add that value to the offset. so if edi is always 1 then use as offset 1*8+4=c . if it is 2 then use as offset 2*8+4=14, ....

and for those that want more info: (ignore this if you're not interested in assembler)
mov [eax+edi*8+04],ecx

eax holds the base pointer
edi*8 is a pointer to a ellement in a array, in this case the array consists out of objects that are 8 bytes long. (probably a structure in this case)
+4 means that it points to the center of the element in that array.


EDI changes throughout sessions, though. I've seen it as 56 or 1A, etc.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking 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