PUBLIC HookPacketRecv ReceivePacket PROTO :DWORD, :DWORD .CODE ;====================================== ;HookPacketReceived ;====================================== HookPacketRecv PROC HookPacket: ;SET HOOK AT 0x8771DC ;REPLACE OVERWRITTEN FUNCTION jnb HookPacket_UnkProtoc ;CUSTOM CODE ;PUSH REGISTERS TO PRESERVE push rax push rdx push r8 push r9 push r10 push r11 ;GET VARS FOR ReceivePacket lea rcx, [rbx+r13] lea rdx, [rsi] ;CALL ReceivePacket call ReceivePacket ;RESTORE REGISTERS pop r11 pop r10 pop r9 pop r8 pop rdx pop rax ;JUMP BACK TO EXIT POINT ;USE RCX - IT IS OVERWRITTEN ON EVERY PATH mov rcx, 8771E2h ;JMP TO PROPER LOCATION jmp rcx HookPacket_UnkProtoc: mov rcx, 87756Fh jmp rcx HookPacketRecv ENDP END