Quella porta viene scelta dal sistema operativo tra quelle libere ed assegnata al socket creato dal client di gioco. Guarda tu stesso con wireshark o netstat: anche telnet aprirà un socket client con alla sorgente una porta casuale. Consiglio questa risposta per fare chiarezza sulle porte locali. Ci sono tanti modi come ho detto per ottenere il risultato voluto e redirigere il traffico su localhost (o anche da altre parti), semplicemente da sistema non è prevista un API semplice che permetta a un processo medium integrity di fare quel che voglia con i socket degli altri processi suoi pari.
Ricordo bene un thread dove questo argomento è già stato trattato ed è disponibile il codice per la soluzione via dll injection che fa hooking su send e recv nel processo di gioco:
Comunque se il gioco usa un nome di dominio fisso faresti molto molto prima a scriverlo nel file hosts così puoi usare il codice che hai già scritto qua con qualche modifica (alla porta se necessario e al loop come ho detto prima).
Ricordo bene un thread dove questo argomento è già stato trattato ed è disponibile il codice per la soluzione via dll injection che fa hooking su send e recv nel processo di gioco:
Comunque se il gioco usa un nome di dominio fisso faresti molto molto prima a scriverlo nel file hosts così puoi usare il codice che hai già scritto qua con qualche modifica (alla porta se necessario e al loop come ho detto prima).