Wie arbeited Cheat Engine?
Die Datentypen, was bringen sie und wie heißen sie?
Um es den Prozessor und der gesamten Arbeitsplatine einfacher zu machen, werden alle Daten in sogenannten Datentypen gespeichert.
Byte = Byte ist ein Mengenbegriff der für eine Zusammenstellung aus fast immer 8 Bit besteht. Dass bedeuted dass ein Byte sich aus 8 anderen Bits zusammenstellt. Hier zum Beispiel ein kleines Umrechnungsbeispiel: 1012 Byte = 1.000.000.000.000*Byte
Wann ist ein Byte denn mal nicht 8 Bit groß? Und was ist das für eine Merkwürdige Rechnung? "1012 Byte = 1000000000000 Byte" wäre gekürzt "1012 = 1000000000000", und das ist mathematisch unlösbar.
Du könntest auch erwähnen, dass damit die Zahle dargestellt werden und die Anzahl der Bits (also der Ziffern) nur den Maximalwert bestimmt.
Double = Wer gut Englisch kann wird sicher hierausverstehen dass es dass Doppelte ist.
Und woher soll man als Laie wissen, dass ein Double das Doppelte von genau einem Float ist? Du könntest schreiben, dass ein Float 4 Bytes groß ist und ein Double entsprechend 8 Bytes, wodurch er deutlich präzisere Zahlen errechnen kann.
0032107C ist jedenfalls hier unsere Adresse. Sie ist Typ 7 und hatt eine Länge von 5 da ich nach Power gesucht hab, und Power eine länge von 5 hat. Aber wenn ihr einen Hack machen wollt, und mit der Nomadmemory.au3 Arbeiten wolt, dann müsst ihr bedenken dass in dem Falle sie char[6] ist. Die "sogenannte" Gleichung dafür Lauted:
Die Adresse ist Hexadezimal und das war sie chon immer. Ich würde es mit "0x" präfixieren.
Und dass man beim Schreiben des Speichers ein Byte mehr benutzen muss, liegt daran, dass ein String mit einem "\00"-Byte abgeschlossen wird. Daher "String, terminated with zero".
Bei einem VB Hack, mit einem Memorymodul müsst ihr die Adresse nehmen aber ohne die 00 am anfang also sollte sie dann so aussehen: 32107C
Ich kenne mich mit VB nicht aus, aber ich wette, dass man dort ebenfalls ein "0x" Präfix für Hexadezimalzahlen benutzt. Dementsprechend wäre es dann auch egal, wie viele führende Nullen man hat. 0x000000001 ist immer noch 0x1. Die beiden Nullen bei der Adresse benutzt man nur, weil in einem 32bit PC Adressierungen mit 32bit vorgenommen werden. 32bit sind 4 Bytes, also 8 hexadezimale Ziffern. (2^32 ist übrigens 4 294 967 296, und 4 294 967 296 Bytes sind genau 4 Gigabyte, was die 4GB RAM-Limitierung bei 32bittigen OS betrifft. Aber das wisst ihr ja alle schon.)