Hello, I would like to do this in GCC, [code] void Hooks::NewSendFun() { __asm__ ( "mov [ppSendPacket],%esp\n\t" "pusha\n\t" "call SendPacketCallback\n\t" "popa\n\t" "jmp *%ulSendRet]\n\t" ); } //and jmp from an address, like this *(char*)ulSend = 0xE9; //*(void **)((char *)ulSend + 1) = (void*)(((char*)(NewSendFun)) - ((char *)ulSend + 5)); *(unsigned long*)(ulSend + 1) = ((unsigned long)NewSendFun - (unsigned long)ulSend - 5); [/code] But none of it is working, ulSend(ret) is an unsigned long, the address I'm trying to hook, Thanks for reading. -- View this message in context: http://old.nabble.com/Hooking-address-tp31210659p31210659.html Sent from the gcc - Help mailing list archive at Nabble.com.