Quote:
Originally Posted by wurstbrot123
Meinst du es bleibt ein Byte über wo du den Jump zu deiner Funktion hinpackst ?
DH der original Code dort ist 6 Bytes groß ?
Wenn ja musst du den Byte der übrig bleibt noppen also das letzte Byte das übrig bleibt mit 0x90 überschreiben.
|
joa das wär auch ne möglichkeit, aber dann is der code ja trotzdem corrupted....
jmp = 1 byte (0xE9), und dword = 4 byte!
das bedeutet also wenn ich an erster stelle nop (0x90) habe, an zweiter stelle jmp (0xE9), und dann nen dword, kopiere ich nur nop, jmp, und 3 von 4 bytes des dwords!
bedeutet also dass der kopiert jump dann das ganze programm verrecken lässt!
deswegen bräuchte ich ja nen disassembler der z.b. ne stuct zurückgibt:
Code:
struct opCode
{
char* name; // z.b. NOP
long len; // bei nop = 1
dword address; // long == dword?!
};