ich schreibe ja wie manche wissen einen Bot für Eden Eternal.
Leider hat sich die Movement-Funktion seit dem Update geändert und lässt das direkte aufrufen nicht zu wegen dem Stack.
Nun will ich den Wert auf die Addresse schreiben und dann in die Read->Check->Move-Function springen.
ich habe mir eine Funktion erstellt um einen Pointer auszulesen
Code:
DWORD ReadPointer(DWORD offsets[])
{
DWORD Result = 0;
int size = sizeof(offsets) / sizeof(DWORD);
Result = *(DWORD*)(GetBase("_Launcher.exe",GetCurrentProcessId()) + offsets[0]);
for(int i = 1; i != size; i++)
{
Result = *(DWORD*)(Result + offsets[i]);
}
return Result;
}
Nur wie beschreibe ich jetzt die Addresse? stehe gerade aufm Schlauch
Das hier macht übrigens nicht das was du erwartest. sizeof offsets ist immer 4 Bytes in einem 32-Bit-System bzw. 8 Bytes bei 64-Bit groß, da es ein Pointer ist.
Du musst die Länge des Arrays als ein weiteres Argument an deine Funktion weitergeben.
Musst du in der For-Schleife nicht auch bei i = 0 anfangen?
Das hier macht übrigens nicht das was du erwartest. sizeof offsets ist immer 4 Bytes in einem 32-Bit-System bzw. 8 Bytes bei 64-Bit groß, da es ein Pointer ist.
Du musst die Länge des Arrays als ein weiteres Argument an deine Funktion weitergeben.
Musst du in der For-Schleife nicht auch bei i = 0 anfangen?
Doch wird es, der Compiler merkt sich die Größe selbst, es ist ein Array und kein Pointer, da zieht ein Compiler eine ganz klare Grenze.
Die Größe ist zwar der Funktion nicht bekannt, aber an der Stelle, an der du das Array definierst und das merkt sich der Compiler.
Alternativ ginge auch das Makro ARRAYSIZE, welches direkt die Anzahl der Elemente ausgibt.
Doch wird es, der Compiler merkt sich die Größe selbst, es ist ein Array und kein Pointer, da zieht ein Compiler eine ganz klare Grenze.
Die Größe ist zwar der Funktion nicht bekannt, aber an der Stelle, an der du das Array definierst und das merkt sich der Compiler.
Alternativ ginge auch das Makro ARRAYSIZE, welches direkt die Anzahl der Elemente ausgibt.
char *c und char c[] sind als Parameter genau das selbe.