Quote:
Originally Posted by xroute66x™ :)
Hey, das ist jetzt zwar keine Frage wegen einer Cheatfunktion, aber ich wollte mal fragen ob du mir etwas erklären könntest :)
Und zwar , wollte ich Folgendes wissen. - Was sind Pointer/Zeiger?
- Wozu sind die gut?
- Ein einfaches Beispiel zur Verdeutlichung.
|
Nun, ich versuch mich kurz zu fassen:
Jeder Prozess bekommt einen gewissen Speicherbereich zugewiesen, der eine bestimmte Anzahl an Bytes groß ist. Dieser Speicherbereich ist durchnummeriert, jedes Byte hat eine sogenannte Adresse, die meistens Hexadezimal angegeben wird, bei 32-Bit-Prozessen mit 8 Stellen. Die erste mögliche ist also 00000000 und die letzte mögliche FFFFFFFF, wobei die zweite hälfte meistens für bestimmte Bereiche reserviert ist.
Ein Zeiger ist eine Variable, die eine solche Adresse enthält. Wenn ich jetzt also an Speicheradresse 40000000 eine Variable vom Typ int habe, könnte ich an anderer Stelle einen Zeiger haben, der den Wert 40000000 hat. Man sagt dann, dass dieser Zeiger auf unsere int-Variable zeigt.
Dereferenzieren bedeutet, dass man die Variable, auf die gezeigt wird, als Referenz-Variable modifizieren kann. Du kannst also über den Zeiger auf unseren int-Wert diesen Wert lesen und ihn auch verändern.
Als Beispiel zur Vereinfachung:
Nehmen wir an, die Spielergeschwindigkeit sei in warrock.exe als Wert vom Typ double gespeichert. double ist ein 8-Byte großer Datentyp unter Windows, der Gleitkommazahlen beschreibt. Wir nehmen an, dass die Adresse der Variable, die die Spielergeschwindigkeit beschreibt, [warrock.exe + 12345678] ist.
Wenn wir also einen Zeiger erstellen, der auf [warrock.exe + 123456786] zeigt, können wir diesen dereferenzieren und damit die Spielergeschwindigkeit beliebig verändern.