/* vim: set filetype=c ts=8 noexpandtab: */ #include "common.h" #include "bitstream.h" #include "rakpeer.h" #include "processnetworkpacket.h" #include "uncompress.h" #include "rangelist_deserialize.h" #include #include #include #include void simple_redir_call(void *address, void *newtarget) { DWORD oldvp; VirtualProtect(address, 4, PAGE_EXECUTE_READWRITE, &oldvp); *(int*) address = (int) newtarget - ((int) address + 4); } void nethandler_init() { simple_redir_call(UNCOMPRESS_TARGET, uncompress_main); simple_redir_call(RP_PARSE_NETWORK_PACKET, ProcessNetworkPacket); simple_redir_call(RP_PARSE_CONNECTION_REQ, RakPeer__ParseConnectionRequestPacket); //simple_redir_call((void*) 0x45F951, RangeList__Deserialize_hooked); simple_redir_call((void*) 0x45E2EF, Hooked_BitStream__ReadCompressed); }