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 


[Help] Trainer with pointers

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

Joined: 15 Oct 2008
Posts: 4

PostPosted: Sun Nov 02, 2008 3:03 pm    Post subject: [Help] Trainer with pointers Reply with quote

Good morning All,

I made a cheat with CE to modify my character in a game. It doesn't use a static offset so I searched and found the pointer and it works Smile

Now I would like to make a trainer with delphi for this cheat code.
I know the instructions to read and write in memory to an offset :
Quote:
ReadProcessMemory
WriteProcessMemory


My only problem is I don't know how to read a cheat engine's pointer from delphi. My pointer is myexe.exe+0061501B, how to translate it in delphi? If I read at the offset 0061501B, it doesn't give me the right result.

Thanks in advance for your help
Back to top
View user's profile Send private message
hcavolsdsadgadsg
I'm a spammer
Reputation: 26

Joined: 11 Jun 2007
Posts: 5801

PostPosted: Sun Nov 02, 2008 3:26 pm    Post subject: Reply with quote

Read from the hopefully static address you worked your way down to, what you will surely find (surprise)... another address. Add the offset if there is one, and repeat until you're done.
Back to top
View user's profile Send private message
Horvath
How do I cheat?
Reputation: 0

Joined: 15 Oct 2008
Posts: 4

PostPosted: Mon Nov 03, 2008 4:25 am    Post subject: Reply with quote

Thanks for the reply Smile

I don't know if it's correct, I used "Find out what reads from this address" on my pointer, it founds me a unique result mov eax, [00a9397c]

So I searched 00a9397c and CE found me 53 results (green). Now what to do with the results? Sorry for the question but I don't know how to use the results to make my trainers Embarassed
Back to top
View user's profile Send private message
SXGuy
I post too much
Reputation: 0

Joined: 19 Sep 2006
Posts: 3551

PostPosted: Mon Nov 03, 2008 7:38 am    Post subject: Reply with quote

Dont worry about all that

add myexe.exe+0061501B to your CE CT table and note the address it displays, just use that address.

what you want to do, is find the base address for myexe.exe and then add the address next to it, which will result in the final address that the ct table displays.

So either find the base address for myexe.exe or just add the resulting address that the ct table tells you.
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 475

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

PostPosted: Mon Nov 03, 2008 7:47 am    Post subject: Reply with quote

(00a9397c is already a static address so no need to do a fidn what accesses on that)

it's also pretty safe to assume the base address of myexe.exe is 00400000 (can be different, but exe's that aren't specifically compiled with vista's change location bit will usually get the base address they desire)

00400000+61501b=00a1501b
hrm...., that's nowhere near 00a9397c

make a screenshot of the pointer written down in ce (doubleclcik the address and it'll show it like add address) and upload it here
So far what you've described isn't a pointer at all, or you have a really messed up pointer. (pointers with offsets bigger than 20000 tend not to be safe pointers)

_________________
Tools give you results. Knowledge gives you control.

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

Joined: 15 Oct 2008
Posts: 4

PostPosted: Mon Nov 03, 2008 10:03 am    Post subject: Reply with quote

Thanks.

In my first post, the value of my pointer is wrong. I didn't read the right value on my paper, in fact it's 69397C Wink

Here is the screenshot of my pointer :
(see Image 1)

00400000 + 69397C = 00a9397c = the value I found in the line mov eax, [00a9397c]

If I go to 00a9397c :
(see Image 2)

It seems like the offset I'm searching Shocked

So in delphi, I need to go to the offset 00a9397c, read the value and go to the offset I read previously?



offset.JPG
 Description:
(Image 2)
 Filesize:  10.85 KB
 Viewed:  3833 Time(s)

offset.JPG



ptr.JPG
 Description:
(Image 1)
 Filesize:  16.69 KB
 Viewed:  3833 Time(s)

ptr.JPG


Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 475

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

PostPosted: Mon Nov 03, 2008 3:48 pm    Post subject: Reply with quote

read the 4 byte value (dword) at $00a9397c and then add $38c to that value
the resulting value will be the address which you can then write to

_________________
Tools give you results. Knowledge gives you control.

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

Joined: 15 Oct 2008
Posts: 4

PostPosted: Mon Nov 03, 2008 5:24 pm    Post subject: Reply with quote

I only tried to read for the moment and that worked ^^
Thanks a lot for your help, all Very Happy
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 programming 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