Wie finde ich der offset ?

04/20/2010 22:54 Frenkle#1
was mache ich falsh, was ist das offset??

What im doing wrong hire?

04/21/2010 14:06 bassbanane#2
Das Offset wird immer zur Addresse des Pointers addiert also in deinem Fall "ebp*4+14". Und ich meine das muss dann auch als Offset rein. Wenn ich falsch liege verbessert mich bitte.
04/22/2010 16:44 HardCore.1337#3
EAX = 0984BC04
EBP = 0000008E

EAX + EPB x 4 - 14
0984BC04 + 0000008E * 4 -14

so in etwa. Bei Fehlern Berichtigen.
04/24/2010 23:00 Lawliet#4
Jedes Programm bekommt beim starten einen bestimmten Teil des Arbeitsspeichers zugewiesen, der jedesmal anders sein kann.
Die Funktionen des Programms bekommen allerdings immer die Gleiche "Hausnummer" innerhalb des Programms zugewiesen.
Beispiel:
Der Arbeitsspeicher ist ein Schachbrett :D
Nun startet dein Programm und bekommt den Speicherabschnitt von C-E.
Das Handle des Programms ist nun C.
Dazu muss nun das Offset deiner Funktion/Value addiert werden um die Exakte Adresse zu bekommen.
Das Offset kann nun z.B. 3 sein.
Also ist die Exakte Adresse C + 3, also C3 in deinem Arbeitsspeicher.