Nous sommes sur un forum, si tout le monde demandait de l'aide sur Skype il n'aurait plus aucun intéret.
Le MITM (Man In The Middle) est une astuce consistant à détourner le flux de données entre le client Dofus et le serveur à but de récupérer et/ou modifier les données échangé.
Avec une connexion normal sans MITM, l'architecture est la suivante :
Client Dofus --> Serveur Dofus
Dans ce cas de figure, un seul socket est utilisé.
Dans le cas d'un bot "Full Socket", le bot simule complètement le comportement du client.
Avec une connexion MITM, le flux de données est redirigé vers ton programme qui altère les données avant de les envoyer vers le serveur Dofus :
Client Dofus <--> Programme <--> Serveur Dofus
Dans ce cas de figure, 2 sockets sont employés : le premier est initié par le client Dofus qui se connecte au programme. Après l'établissement de ce socket, le programme en créer un deuxième qui se connecte au serveur Dofus.
Le programme sera chargé de récupérer en continue les données sur les 2 flux avec l'utilisation des Threads, d'altérer les données puis les renvoyer vers le socket opposé.
Le programme doit écoute sur 2 ports distincts : un pour la connexion vers le serveur de connexion et l'autre vers le serveur de jeu.
Après la réception du message "SelectedServerDataMessage" (id=42), le client Dofus coupe la connexion du socket pour se connecter vers le serveur de jeu.
Si tu as besoin d'exemple de code, il y en a partout sur le forum.