def processPacket(self, packet_id, data): packet_name = packet_enum.get(packet_id, packet_id) print('[*] {} received from server'.format(packet_name)) decrypted = self.crypto.decrypt_server_packet(packet_id, data[7:]) if packet_id == 27579 and self.server.factory.args.udp: client_host = self.server.transport.getPeer().host decrypted = self.server.factory.udp_protocol.build_udp_info_packet( client_host, decrypted) if self.server.factory.args.verbose and decrypted: print(hexdump.hexdump(decrypted)) if self.server.factory.args.replay: self.server.factory.replay.save_tcp_packet(packet_name, data[:7] + decrypted) encrypted = self.crypto.encrypt_server_packet(packet_id, decrypted) payload = packet_id.to_bytes(2, 'big') + len(encrypted).to_bytes( 3, 'big') + data[5:7] + encrypted self.server.transport.write(payload)
def processPacket(self, packet_id, data): if not self.client: reactor.callLater(0.25, self.processPacket, packet_id, data) return packet_name = packet_enum.get( packet_id, udp_packet_enum.get(packet_id, packet_id)) print('[*] {} received from client'.format(packet_name)) decrypted = self.crypto.decrypt_client_packet(packet_id, data[7:]) if self.factory.args.verbose and decrypted: print(hexdump.hexdump(decrypted)) if self.factory.args.replay: self.factory.replay.save_tcp_packet(packet_name, data[:7] + decrypted) encrypted = self.crypto.encrypt_client_packet(packet_id, decrypted) payload = packet_id.to_bytes(2, 'big') + len(encrypted).to_bytes( 3, 'big') + data[5:7] + encrypted self.client.transport.write(payload)
def processPacket(self, packet_id, data): packet_name = packet_enum.get(packet_id, packet_id) print('[*] {} received from server'.format(packet_name)) decrypted = self.crypto.decrypt_server_packet(packet_id, data[7:]) if self.server.factory.args.verbose and decrypted: print(hexdump.hexdump(decrypted)) if self.server.factory.args.replay: self.server.factory.replay.save_packet(packet_name, data[:7] + decrypted) encrypted = self.crypto.encrypt_server_packet(packet_id, decrypted) payload = packet_id.to_bytes(2, 'big') + len(encrypted).to_bytes( 3, 'big') + data[5:7] + encrypted self.server.transport.write(payload)