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 


Finding Pointers

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

Joined: 03 May 2015
Posts: 5

PostPosted: Sun May 03, 2015 6:15 am    Post subject: Finding Pointers Reply with quote

As I am fairly new to using Cheat Engine, I tried finding some pointers, I managed to find 3 offsets and then i got stuck on this two:
Code:

The following opcodes accessed 106D1320

0299DF5A - 85 05 00011C00  - test [001C0100],eax
0299DF60 - C3 - ret
0299DF61 - 8B 40 10  - mov eax,[eax+10] <<
0299DF64 - 83 C4 38 - add esp,38
0299DF67 - 5D - pop ebp

EAX=10570028
EBX=148740E0
ECX=05C0C9E8
EDX=10715EF0
ESI=106D1310
EDI=05C0C9E8
ESP=18CDF520
EBP=18CDF598
EIP=0299DF64


First of all, I would like to understand how from
Code:
mov eax,[eax+10]

It ended up giving me 106D1310(The value of the pointer is probaby...), which is correct, I just don't seem to understand why.
Secondly, in the following:
Code:

The following opcode accessed 1069B370:

02BE29BA - 3B 71 08  - cmp esi,[ecx+08]
02BE29BD - 0F83 56010000 - jae 02BE2B19
02BE29C3 - 8B 74 B1 0C  - mov esi,[ecx+esi*4+0C] <<
02BE29C7 - 83 FE 00 - cmp esi,00
02BE29CA - 0F84 EC000000 - je 02BE2ABC

EAX=002F41B4
EBX=14874008
ECX=1069B338
EDX=002F419B
ESI=106D1310
EDI=106469E0
ESP=18CDF510
EBP=18CDF5C0
EIP=02BE29C7


I failed to find the pointer and the offset.
I searched through some old topics in google, but couldn't implement what I was reading into my specific process. I assume from reading Dark_Byte's comments that this refers to an array ( which is good as this is probably what I am looking for)
, but I can't figure out the address and the offset, any help is appreciated.
Back to top
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Sun May 03, 2015 8:42 am    Post subject: Reply with quote

Code:
mov eax,[eax+10]

Before this code executes, EAX contains the base address of the game structure.
It gets to the specific variable you're after by adding hex 10 (16) to that address.

Code:
mov esi,[ecx+esi*4+0C]

In this scenario, ECX contains your base address. ESI is used as an index and hex 0C is a base offset.
It multiplies ESI by 4 because each variable in that array is 4 bytes long.

It should also be noted that these probably aren't static pointers.
So when you reload the game, they will not work.
Back to top
View user's profile Send private message
Insensitivity
How do I cheat?
Reputation: 0

Joined: 03 May 2015
Posts: 5

PostPosted: Sun May 03, 2015 8:44 am    Post subject: Reply with quote

sorry for lacking so much knowledge, but how then I find ECX ?
Back to top
View user's profile Send private message
vng21092
Grandmaster Cheater
Reputation: 15

Joined: 05 Apr 2013
Posts: 644

PostPosted: Sun May 03, 2015 9:21 am    Post subject: Reply with quote

put a breakpoint on the instruction (F5) and the next time the code gets executed the game would freeze and the registers should pop up in the memory viewer on the right
Back to top
View user's profile Send private message
Insensitivity
How do I cheat?
Reputation: 0

Joined: 03 May 2015
Posts: 5

PostPosted: Sun May 03, 2015 12:36 pm    Post subject: Reply with quote

vng21092 wrote:
put a breakpoint on the instruction (F5) and the next time the code gets executed the game would freeze and the registers should pop up in the memory viewer on the right

Is there any viable solution that doesn't require using a break point, as it isn't possible for me right now..?
Back to top
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Sun May 03, 2015 1:50 pm    Post subject: Reply with quote

If you are using Find out what access this address, then you're using breakpoints.
Also, you have ECX listed right there in your output (at the bottom). Smile
Back to top
View user's profile Send private message
justa_dude
Grandmaster Cheater
Reputation: 23

Joined: 29 Jun 2010
Posts: 893

PostPosted: Sun May 03, 2015 2:56 pm    Post subject: Re: Finding Pointers Reply with quote

Insensitivity wrote:
in the following:
Code:

The following opcode accessed 1069B370:

02BE29BA - 3B 71 08  - cmp esi,[ecx+08]
02BE29BD - 0F83 56010000 - jae 02BE2B19
02BE29C3 - 8B 74 B1 0C  - mov esi,[ecx+esi*4+0C] <<
02BE29C7 - 83 FE 00 - cmp esi,00
02BE29CA - 0F84 EC000000 - je 02BE2ABC

EAX=002F41B4
EBX=14874008
ECX=1069B338
EDX=002F419B
ESI=106D1310
EDI=106469E0
ESP=18CDF510
EBP=18CDF5C0
EIP=02BE29C7


I failed to find the pointer and the offset.
I searched through some old topics in google, but couldn't implement what I was reading into my specific process. I assume from reading Dark_Byte's comments that this refers to an array ( which is good as this is probably what I am looking for)
, but I can't figure out the address and the offset, any help is appreciated.


If the pointer is in ECX and you're searching for pointers, then you want to search for memory containing the address 1069B338.

BTW, this looks like .NET/Mono code. Is it? And if so, why don't you have CE's Mono features enabled?


Insensitivity wrote:
vng21092 wrote:
put a breakpoint on the instruction (F5) and the next time the code gets executed the game would freeze and the registers should pop up in the memory viewer on the right

Is there any viable solution that doesn't require using a break point, as it isn't possible for me right now..?

Yes, absolutely... find a suitable hack point (the ones you"ve identified while looking for pointer chains may be suitable, and grab the address with injection. It's almost always a heck of a lot faster than searching for pointers.

_________________
A nagy kapu mellett, mindig van egy kis kapu.
----------------------
Come on...
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