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 


Getting application address

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

Joined: 08 Dec 2008
Posts: 2

PostPosted: Fri Mar 19, 2010 6:49 pm    Post subject: Getting application address Reply with quote

well i thought I had my problem fixed, but a new on came up. This is probably a very simple question to answer, but I cannot figure it out, so here goes.

I have a multilevel pointer found using the pointer scanner, however the highest address it gives looks like this:

Game.exe+005AB190

My question is, how do i find the address of Game.exe? When I try to read from just 005AB190 alone, it fails. I am writing a script in AutoIt to read from this pointer, however I cannot figure out how to read the address of the process Game.exe, and I can't use MemoryRead(Game.exe+005AB190, $hwnd)


Thanks
Back to top
View user's profile Send private message
zile
Advanced Cheater
Reputation: 0

Joined: 11 Jul 2009
Posts: 75

PostPosted: Sat Mar 20, 2010 4:54 am    Post subject: Reply with quote

you can find it using MHS, by typing Game.exe at the expression evaluator box after attaching, or using CE... i forgot how lol, or to get address of Game.exe using c++, there is a function called GetProcAddress, not sure about AutoIT

so, first use MHS, attach, and type Game.exe at Expression Evaluator, it should give an address below. That is the base address for Game.exe, to get the pointer right away, type in "Game.exe+005AB190" in Expression Evaluator, that is the static address storing the address you want (pointer). So copy this static address and..
MemoryRead(-paste-, $hwnd)
and that should be it.


*the base of game.exe is usually 0x00400000, but it might be different for yours.*
Back to top
View user's profile Send private message
Guy
Expert Cheater
Reputation: 0

Joined: 30 May 2009
Posts: 187

PostPosted: Sat Mar 20, 2010 10:24 am    Post subject: Reply with quote

If you're on Vista or 7, the base will often be relocated, therefore, it should be done at runtime, like so:

Code:

GetModuleHandle("Game.exe") + 0x005AB190
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 472

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

PostPosted: Sat Mar 20, 2010 12:24 pm    Post subject: Reply with quote

In cheat engine you find it by just going to any address, or in the address field and just type game.exe , or game.exe+5ab190

anyhow, if it's not a dll but a separate process, then use toolhelp32snapshot to get a modulelist and find the module base there
And seeing autoit, no idea how that handles that. But you can pretty much assume the base address of the .exe is always the same, unless the game explicitly has set in it's header to have a different base and you're running vista or later

_________________
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
Junlee
How do I cheat?
Reputation: 0

Joined: 08 Dec 2008
Posts: 2

PostPosted: Sat Mar 20, 2010 8:53 pm    Post subject: Reply with quote

Thanks for all the replies. I've decided that I am going to go ahead and try to write the bot in C++ rather than Autoit now (first time trying anything like this in C++, will be a learning experience), so it should be a lot more reliable and efficient . I will give all of your solutions a try, I believe that it is always good to know multiple solutions to a problem, so thanks again.

Also, sort of an off topic question but since I am new to making hacks using C++, I figure I might as well ask the experts. Would it be in my best interest to learn windows API programming in C++? Currently I only know how to make object oriented console apps. Would it also be good to learn some assembly for this type of a program? I have never personally used assembly (except when trying some Ollydb reversing tutorials), but I've heard that it can be more efficient than actual C code for some procedures.

Thanks again.

EDIT:

Quote:
If you're on Vista or 7, the base will often be relocated, therefore, it should be done at runtime, like so:

Code:

GetModuleHandle("Game.exe") + 0x005AB190


That doesn't work because Game.exe isn't loaded into my executable, so it has no address that can be found using GetModuleHandle(). I found out that I had to use Module32First() to find it.
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