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 


Pointer containing "program.exe" - explaination?

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
hitmetwice
Advanced Cheater
Reputation: 0

Joined: 20 Nov 2012
Posts: 63

PostPosted: Sat Oct 05, 2013 10:38 am    Post subject: Pointer containing "program.exe" - explaination? Reply with quote

How do I convert a pointer from a format like this:
address: "program.exe"+010868B4
offset1: 0x184

to a format like this:
address: 004E4DBC
offset1: F4
?

And what is the diffrence? This is really confisung me. A memory reading fucntion I found on the unternet does only work using the second format, but cheat engine's pointer scanner always gives me results that contain the .exe...
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Sat Oct 05, 2013 11:07 am    Post subject: Reply with quote

You will need to locate the location of program.exe in memory and add 010868B4 to it
Each time you run the game that address can be different, so you need to look that up. The toolhelp32 api's (module32first/module32next)

_________________
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
hitmetwice
Advanced Cheater
Reputation: 0

Joined: 20 Nov 2012
Posts: 63

PostPosted: Sat Oct 05, 2013 2:05 pm    Post subject: Reply with quote

Just for testing purposes, can Cheat Engine give me the current base address of the process?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Sat Oct 05, 2013 2:14 pm    Post subject: Reply with quote

Go to the address using modulename+offset notation and check the destination addres
_________________
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
hitmetwice
Advanced Cheater
Reputation: 0

Joined: 20 Nov 2012
Posts: 63

PostPosted: Wed Oct 09, 2013 2:46 pm    Post subject: Reply with quote

Ah, I see. Very Happy

I'm using ReadProcessMemory() btw.
Any idea if I even need to add the baseaddress?

btw I'm trying to do this in AutoHotkey atm and I'm using this cute lib:
http://pastebin.com/4wCX0XPX

Here is an example that works perfectly fine for the game Assault Cube:
Code:
hProcess := MemoryOpenFromName("ac_client.exe")
result := MemoryReadPointer(hProcess, 0x004E4DBC,"int",3, 1, 0xF4)
MemoryClose(hProcess)
MsgBox, %result%


edit:
Take a look at this:

Both pointers are ALWAYS working, even on different devices.
So if I understood this correctly the game is always located at 400000 in the memory? oO
That's impossible, there must be a plausible way to convert the one format into the other. I mean for this game it looks like I could simply replace "ac_client.exe" with "400000". But that would work for every game right? Crying or Very sad
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Wed Oct 09, 2013 4:40 pm    Post subject: Reply with quote

You can replace it with 00400000 if the base address is 00400000 and it's an old game or they disabled the relocation explicitly

Judging from the window header lacking the glass effect my guess is that you're on xp with a stupid style, or windows 8.
If windows 8 there is a big chance the module will be loaded at a different location each time if it is a game that came out recently (last 8 years)

_________________
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
hitmetwice
Advanced Cheater
Reputation: 0

Joined: 20 Nov 2012
Posts: 63

PostPosted: Wed Oct 09, 2013 5:21 pm    Post subject: Reply with quote

Yeah I'm on windows 8. AssaultCube was released in Novebmer 2006.
And the baseaddress is always 00400000 on this computer. (Even after restarts etc.)

But well, I start understand it. Is there an easy way of retrieving the process baseaddress in C++ that does not require dll injection? Is there a function that I can just use?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

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

PostPosted: Wed Oct 09, 2013 5:46 pm    Post subject: Reply with quote

http://forum.cheatengine.org/viewtopic.php?p=5280115#5280115 has some info on how to do that lookup
_________________
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
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