so ein Jump ist relativ
dieser berechnet sich aus:
ZuAdresse - VonAktuelle -5
wenn du von
0x00500029 zu 0x00500020 springen willst wär dass ein 0x00500029-0x00500020-5 = -14 bzw. "-0xD" = 0xFFFFFFF2
diese muessen jeweils Byteweise vertauscht werden -> Little-endian
man muesste jetzt an die adresse 0x00500029 die Werte E9 F2 FF FF FF schreiben
in delphi waere das:
Delphi-Quelltext
1: 2: 3: 4: 5:
| FromAddr := Pointer($00500029) ToAddr := Pointer($00500020)
PByte(FromAddr)^ := $E9 PInteger(Integer(FromAddr)+1)^ := Integer(ToAddr)-Integer(FromAddr)-5 |
um es einfacher zu machen: du kannst auch ein absoluten jump durch PUSH <ADDR> RET machen
schau einfach mal aufhttp://uall.cheat-project.com/uallCollection/ und dort auf HookCode
Um deine Frage zu beantworten: ohne deine startadresse zukennen kann dir das niemand sagen, soll der wert relativ sein dann musst du E9 B0 93 00 00 schreiben