Need some help hooking the jump function

03/03/2012 09:29 { Angelius }#1
is this what i need to execute from my proxy in order to make the player jump where i wanted him to jump ?
PHP Code:
005C943F   FF75 D0        PUSH DWORD PTR SS:[EBP-30]
005C9442   FF75 D4        PUSH DWORD PTR SS:[EBP-2C]
005C9445   E8 9FABE3FF CALL Conquer.00403FE9
005C944A   
8BC8            MOV ECX,EAX
005C944C   
E8 03C20B00 CALL Conquer.00685654
005C9451   
EB 6E           JMP SHORT Conquer.005C94C1

aka 
(jump function) 
If so.. then what makes the client crash when i execute this ?
PHP Code:
writer.Write((byte)0x68);
writer.Write(Xh);
            
writer.Write((byte)0x68);
writer.Write(Yh);

writer.Write((byte)0xE8);
writer.Write(0x403FE9);

writer.Write(new byte[] { 0x8B0xC8 });

writer.Write((byte)0xE8);
writer.Write(0x685654); 
Thanks.
03/03/2012 10:51 IAmHawtness#2
Code:
//push x
writer.Write((byte)0x68); 
writer.Write((uint)Xh); 

//push y             
writer.Write((byte)0x68); 
writer.Write((uint)Yh); 

//mov eax, 0x403FE9
writer.Write((byte)0xB8); 
writer.Write((uint)0x403FE9); 

//call eax
writer.Write(new byte[] { 0xFF, 0xD0 }); 

//mov ecx, eax
writer.Write(new byte[] { 0x8B, 0xC8 });

//mov eax, 0x685654
writer.Write((byte)0xB8); 
writer.Write((uint)0x685654); 

//call eax
writer.Write(new byte[] { 0xFF, 0xD0 }); 

//ret
writer.Write((byte)0xC3);
This is what you want your assembly output to look like:

Code:
push X
push Y
mov eax,00403FE9
call eax
mov ecx,eax
mov eax,00685654
call eax
ret