[C++]Adressen & Pointer!

12/23/2011 20:22 Dr. Coxxy#16
mit ner log funktion, outputdebugstring oder msgbox mal die zwischenwerte ausgeben lassen und mit denen in CE vergleichen und deinen fehler korrigieren.
12/24/2011 00:17 jacky919#17
Quote:
Originally Posted by DreamStyler View Post
Hatte ich bereits ausprobiert, funkt leider auch nicht :/.

Fg
Mein Code war auch nur Pseudo-Code. Das ist dir hoffentlich bewusst...
Unten links, das ist die Base. Die Zahlen auf rechten Seite sind die Offsets. Wenn du das nun bei meinem Code einsetzt und weiter fortführst wirst du am Ende die gewünschte Addrese als Wert der sich aus der letzen Addition ergebenen Addresse vorliegen haben.
12/25/2011 18:43 DreamStyler#18
Quote:
Originally Posted by jacky919 View Post
Mein Code war auch nur Pseudo-Code. Das ist dir hoffentlich bewusst...
Unten links, das ist die Base. Die Zahlen auf rechten Seite sind die Offsets. Wenn du das nun bei meinem Code einsetzt und weiter fortführst wirst du am Ende die gewünschte Addrese als Wert der sich aus der letzen Addition ergebenen Addresse vorliegen haben.
Ich habs mit ner Ausgabe probiert und es funktioniert leider nicht.

Fg
12/25/2011 18:57 jacky919#19
Ist die letzte Addresse denn eine statische in CE (grün eingefärbt)?
12/25/2011 19:30 DreamStyler#20
Quote:
Originally Posted by jacky919 View Post
Ist die letzte Addresse denn eine statische in CE (grün eingefärbt)?
Sagen wir's so, mir is aufgefallen, dass sie immer 0x18040030 ist^^ aber das is ja die Adresse vom Pointer selbst. Die Adresse auf die er zeigt ändert sich stets.

Fg
12/26/2011 23:00 jacky919#21
Quote:
Originally Posted by DreamStyler View Post
Sagen wir's so, mir is aufgefallen, dass sie immer 0x18040030 ist^^ aber das is ja die Adresse vom Pointer selbst. Die Adresse auf die er zeigt ändert sich stets.

Fg
So ist es auch richtig. Eigentlich steht der Umsetzung dann nichts mehr im Wege.
12/28/2011 14:35 DreamStyler#22
Quote:
Originally Posted by jacky919 View Post
So ist es auch richtig. Eigentlich steht der Umsetzung dann nichts mehr im Wege.
Für mich ist nich klar, wie ich die eigene Adresse des Pointers definiere. Weil die bleibt ja gleich, ist immer 0x18040030.

Fg
12/28/2011 16:30 jacky919#23
Ein Pointer ist eine Variable die eine Addresse speichert. Es ist also egal welche Addresse der Pointer hat, relevant ist der Wert des Pointers. Denn Zeigerarithmetik wird nicht auf die Addresse des Pointers sondern auf den Wert des Pointers ausgeübt.
12/28/2011 19:21 DreamStyler#24
Worauf soll ich denn dann nen Pointer legen?? Auf 0x18040030??

Fg
12/29/2011 14:50 MrSm!th#25
Nein, auf engine.dll+003CD2B... (was da auch immer abgeschnitten wird)
12/29/2011 16:03 DreamStyler#26
Quote:
Originally Posted by MrSm!th View Post
Nein, auf engine.dll+003CD2B... (was da auch immer abgeschnitten wird)
Aber warum darauf? Es reicht doch ab dem letzten Punkt (0x18040030) zu arbeiten oder nicht?
12/29/2011 17:56 MrSm!th#27
Nein.

Du willst doch den unveränderlichen Base Pointer nutzen.