private C_CONNECT GenerateCConnect() { C_CONNECT connectPacket = new C_CONNECT() { header = new Header() { opcode = OPCODE.Connect, version = 1 }, addresses = new UIntPtr[128] }; string[] names = { "FUN_GAME_INPUT", "GAME_INPUT_OFFSET", "GAME_HUD_INFO_OFFSET", "GAME_CHAT_OFFSET", "FUN_CHAT_SYSTEM", "FUN_DEAL_DAMAGE" }; for (int i = 0; i < names.Length; i++) { connectPacket.addresses[i] = (UIntPtr)GetAbsoluteAddress(names[i]); } return(connectPacket); }
private async Task <bool> Connect() { if (IsConnected) { return(true); } socket = new TcpClient(); try { await socket.ConnectAsync(Address, Port); } catch (Exception err) { Debugger.Error(err); return(false); } if (IsConnected) { Debugger.Write($"[Socket] Connected to HunterPie.Native!", "#FFFF59E6"); Listen(); C_CONNECT connectPacket = new C_CONNECT() { header = new Header() { opcode = OPCODE.Connect, version = 1 }, addresses = new UIntPtr[128] }; // TODO: Make this less bad connectPacket.addresses[0] = (UIntPtr)GetAbsoluteAddress("FUN_GAME_INPUT"); connectPacket.addresses[1] = (UIntPtr)GetAbsoluteAddress("GAME_INPUT_OFFSET"); connectPacket.addresses[2] = (UIntPtr)GetAbsoluteAddress("GAME_HUD_INFO_OFFSET"); connectPacket.addresses[3] = (UIntPtr)GetAbsoluteAddress("GAME_CHAT_OFFSET"); connectPacket.addresses[4] = (UIntPtr)GetAbsoluteAddress("FUN_CHAT_SYSTEM"); await SendAsync(connectPacket); } return(IsConnected); }