Déso.. je comprend toujours pas.
Suite au SelectedServerMessage modifié, j'envoie HelloGameMessage. Je reçois de la part du client : AuthentificationTicketMessage, avec effectivement son ticket mais le truc c'est que c'est du charabia, par exemple je reçois : e3a0e49d2f8f60aff0b240b5be2bf435. En quoi ce string peut m'apporter une IP et un Port ?
Mais bon si je résume bien la procédure ça se passe comme ça :
1. ServerSelection de la part du client
2. SelectedServerDataMessage de la part d'Ank@ma, on récupère l'adresse, et le port (Address: merkator.ankama-games.com Port: 5555 dans mon cas.)
3. On n'envoie pas SelectedServerDataMessage au client local, à la place on modifie l'adresse par : 127.0.0.1 et le port par 5555. On envoie le message modifié au client.
4. Juste après avoir envoyé SelectedServerDataMessage au client local, on envoie HelloGameMessage
5. On reçoit le fameux Ticket de AuthentificationTicketMessage, on le sauvegarde
6. On ferme la connexion du client distant connecté à Ank@ma, on ferme ensuite le client local
7. On crée un nouveau client distant avec l'IP et le Port qu'on a recu dans le SelectedServerDataMessage original, soit l'ip et le port du serveur Merkator.
8. Le client se reconnecte automatiquement à notre serveur MITM et donc établi une liaison avec notre nouveau client distant connecté à Merkator.
Sauf qu'évidemment rien ne se passe comme prévu, ou alors il y a quelque chose que je n'ai pas compris.
Comme tu l'as vu dans AuthentificationTicketMessage je reçois un string qui n'a aucun sens pour moi, c'est pour ça que j'ai parlé de chiffrement.
Désolé de forcer, mais bon cette phase de redirection vers le serveur de jeu est primordiale pour réaliser un MITM, et je pense que ce topic servira énormément aux nouveaux qui désirent réaliser un MITM. Et tout cela grâce à toi. ^^