Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 16:33

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Wie lese ich diesen Pointer aus Oo!?

Discussion on Wie lese ich diesen Pointer aus Oo!? within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
R0bb3lR00t's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 21
Received Thanks: 1
Question Wie lese ich diesen Pointer aus Oo!?

Hey, ich habe folgendes mit CE herausgefunden:


Wie gehe ich bitte da vor!? Wie soll ich mit dem String umgehen Oo?
R0bb3lR00t is offline  
Old 09/25/2012, 12:46   #2


 
Ende!'s Avatar
 
elite*gold: 1
Join Date: Feb 2009
Posts: 6,378
Received Thanks: 7,996


Der zurückgegebene HMODULE Wert ist die Basisadresse des Moduls, zu der du dann dein Offset hinzurechnest (den HMODULE typed Wert musst du natürlich erstmal zur irgendetwas casten, womit man anständig rechnen kann).
Ende! is offline  
Old 09/25/2012, 15:24   #3
 
R0bb3lR00t's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 21
Received Thanks: 1
Hey, erstmal vielen Dank für deine Antwort. Ich programmiere mit Visual Basic und bin sozusagen "Eigentümer" über den Prozess.

Also ich kann auf diesen Prozess zugreifen, beispielsweise mit Launcher.MainWindowHandle, da ich den Prozess über mein Programm selber starte.

Ist das der richtige Wert!?

EDIT:
Habs so ausprobiert
Code:
ReadProcessMemory(readHandle, Hex(pClient.MainWindowHandle) + &H17A0C08 + &H6CC, bytes, 24, 0)
kommt aber die Fehlermeldung das eine Number nicht in einen IntPtr umgewandelt werden kann. Als o die Funktion gibt ja einen IntPtr wieder (normal), mit meinen Parametern allerdings ne Number, daher kommt der Fehler. Aber ich wandel den MainWindowHandle doch extra in Hex um Oo?

EDIT2:
Okay, der Fehler taucht bei der Funktion Hex(pClient.MainWindowHandle) auf.. Der bekommt das anscheinend nicht in eine Hex value gewandelt.
R0bb3lR00t is offline  
Old 09/25/2012, 17:59   #4


 
Ende!'s Avatar
 
elite*gold: 1
Join Date: Feb 2009
Posts: 6,378
Received Thanks: 7,996
Ich ging davon aus, dass du injected arbeitest. Und nein, das Window-Handle ist nicht gemeint. Da ich mich mit VB und dem restlichen .NET-Zeugs rein gar nicht auskenne, kann ich dir nur auflisten, welche Funktionen ich in C/C++ verwenden würde, um an die Basisadresse zu kommen.





Da du offenkundig noch ein ziemlicher Anfänger bist, könntest du notfalls auch einfach 0x400000 zu deinem Offset addieren (dies ist, wenn ASLR nicht aktiviert ist und die Basisadresse des Executables nicht verändert wurde, die Standard-Basisadresse bei Windows). Falls das nicht funktioniert, kannst du versuchen mittels eines Tools wie LoadPE die Basisadresse zu ermitteln und wenn auch das nicht funktioniert, hat dein Ziel-Programm wohl ASLR aktiviert und du musst zwangsläufig die Basis-Adresse zur Laufzeit ermitteln.
Ende! is offline  
Old 09/25/2012, 18:22   #5
 
R0bb3lR00t's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 21
Received Thanks: 1
In Sachen Peek and Poke bin ich noch n relativer Anfänger ja.

Das mit dem 0x400000(in VB &H400000) habe ich versucht:
Code:
ReadProcessMemory(readHandle, &H400000 + &H204, bytes, 24, rw)
Ich bekomme einen leeren String zurück. Kann es sein das ich das falsch zusammengesetzt habe, denn CE meldet mir ja das der erste Read-Vorgang mit "Launcher+&H1BAF178" + dem Offset &H204 durchgeführt wird.
R0bb3lR00t is offline  
Old 09/25/2012, 19:48   #6


 
Ende!'s Avatar
 
elite*gold: 1
Join Date: Feb 2009
Posts: 6,378
Received Thanks: 7,996
Code:
&H400000 + &H17A0C08
So meinte ich das. Dein 2. Offset kannst du nicht einfach addieren, du musst den Pointer erst nochmal auslesen und dann nochmal den ausgelesenen Wert + dein 2. Offset auslesen, um an den finalen Wert zu kommen. Das wurde dir in deinem anderen Thread aber auch schon gesagt. :|
Ende! is offline  
Old 09/25/2012, 20:36   #7
 
R0bb3lR00t's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 21
Received Thanks: 1
Ja das habe ich ja verstanden gehabt, nur ich hatte diese Zusammensetzung oben nicht verstanden.. Deshalb..

Thx anyways, ich probier mich mal durch.


EDIT:

Ich habs nun hinbekommen, die BaseAdress bekomme ich ganz einfach über eine Eigenschaft der Process Klasse.

Code:
Dim BaseAdress As Integer = Process.MainModule.BaseAdress
Eigentlich ganz easy wenn man diese Eigenschaft kennt UND man "owner" des Prozesses ist .

Danke für die Hilfe!
R0bb3lR00t is offline  
Reply


Similar Threads Similar Threads
Frage: Wie findet man zB UG Pointer?Speed pointer?
03/30/2010 - Kal Online - 2 Replies
kann mir einer sagen wie man UG/Speed pointer finden kann usw^^´ß#



All times are GMT +2. The time now is 16:33.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.