[CE] Pointer game.exe+Adresse Problem

05/18/2010 13:50 neofox#1
Hi leute,

habe folgendes Problem ich habe mit CE mir den Pointer von was raussuchen lassen nun bekamm ich aber folgendes: game.exe+005A69C0

nun brauch ich aber den Pointer für einen bot und weiß nun nicht wie ich die Adresse von dem Game bekomme in C++

wäre für schnelle hilfe sehr dankbar

Gruß
Neofox
05/20/2010 02:30 Bot_interesierter#2
Normalerweise ist die Basisadresse eines Programms 0x00400000, allerdings kann diese Adresse auf Grund von ASLR auch nicht konstant sein, also bei jedem Start des Programms verschieden.
Um die Basisadresse zu bekommen wenn die Adresse dynamisch ist musst du die Windows Api Funktionen CreateToolhelp32Snapshot, Module32First und Module32Next benutzten um das Module Handle des Programms zu bekommen, dieses Module Handle ist die Basis Adresse.
Wenn du eine DLL in den Prozess Injizierst kannst du auch einfach die GetModuleHandle Funktion benutzten.

Beispiel Code wie man CreateToolhelp32Snapshot etc benutzt findest du [Only registered and activated users can see links. Click Here To Register...]
05/20/2010 06:01 neofox#3
Quote:
Originally Posted by Bot_interesierter View Post
Normalerweise ist die Basisadresse eines Programms 0x00400000, allerdings kann diese Adresse auf Grund von ASLR auch nicht konstant sein, also bei jedem Start des Programms verschieden.
Um die Basisadresse zu bekommen wenn die Adresse dynamisch ist musst du die Windows Api Funktionen CreateToolhelp32Snapshot, Module32First und Module32Next benutzten um das Module Handle des Programms zu bekommen, dieses Module Handle ist die Basis Adresse.
Wenn du eine DLL in den Prozess Injizierst kannst du auch einfach die GetModuleHandle Funktion benutzten.

Beispiel Code wie man CreateToolhelp32Snapshot etc benutzt findest du [Only registered and activated users can see links. Click Here To Register...]
Hi mir ist bekannt das die Basis Adresse 0x00400000 und auch das sie dynamisch sein kann und somit sich verschiebt deswegen wollte ich ja wissen wie man das lösen kann trotzdem danke nochmal für die Erklärung!

das mit der DLL erscheint mir eine gute Lösung habe schon mit DLL injection gearbeitet! ich werde es so machen THX für die Idee ^^
01/21/2011 16:52 Krschy#4
Ich verstehe jetzt nicht wie das gemeint ist.

Iwe kann ich das jetzt beheben?
01/21/2011 19:49 maxi39#5
hmmm so geht das in autoit [Only registered and activated users can see links. Click Here To Register...] aba in c++ suche ich auch schon nach ner lösung
01/21/2011 21:47 schnewin#6
Quote:
Originally Posted by maxi39 View Post
hmmm so geht das in autoit [Only registered and activated users can see links. Click Here To Register...] aba in c++ suche ich auch schon nach ner lösung
PHP Code:
        DWORD *Offset = (DWORD*)0x00400000;
        
DWORD *Offset2 = (DWORD*)((*Offset) + 0xABC);
        
DWORD *Geld = (DWORD*)((*Offset2) + 0xDEF); 
oder für leichte Addy update's.
PHP Code:
DWORD ingame = *(DWORD*)Offsets::PlayPointer;
    
DWORD Player = *(DWORD*)((ingame) + Offsets::PlayerBase);
    
DWORD Mop_Hp_Min = *(DWORD*)((Player) + Offsets::hp); 
PHP Code:
namespace Offsets
{
    
enum Player
    
{
        
PlayPointer 0x00400000,
        
PlayerBase 0xABC,
        
hp 0xDC,
    };

So habe ich das gelöst.

MFG