Parfait, tu verras les résultats sont gratifiants ! :)
Alors, le jeu est constitué d'un serveur et d'un client. Ces deux entités communiquent entre-elles en utilisant ce qu'on appelle des paquets. Lorsqu'un personnage effectue une action en jeu, il le fait savoir au serveur en lui envoyant un paquet. Et le serveur lui répond qu'il a bien compris sa demande et qu'il l'autorise, ou qu'il l'a refuse. On appelle ceci un protocole, en l'occurence celui-ci s'appelle le TCP.
Voici un petit schéma du protocole que dofus utilise:
schema
Cliquez pour révéler
Cliquez pour masquer
En MITM (= Man in the middle = homme au milieu), le programme agit comme un proxy qui intercepte la communication entre le client et le serveur. Il va alors forwarder (faire passer) tout le traffic entre les deux entités.
Voici un petit schema avec le MITM en place:
schema
Cliquez pour révéler
Cliquez pour masquer
Mais du coup c'est quoi ces fameux paquets ? Ils prennent la forment de bytes et sont illisibles à première vue mais en réalité ils représentent du code. Ce code est le code du client, les sources de Dofus.
Pour pouvoir les comprendre il faudra alors décompiler le client. Mais pour l'instant, l'objectif est d'établir la connexion en tant que proxy.
Le but est évidemment pour pouvoir envoyer des paquets au nom du client de façon automatisée et de pouvoir surveiller ce que le serveur cherche à lui faire comprendre.
Voici les premières pistes:
Transmission Control Protocol — Wikipédia (wikipedia.org)
Frida • A world-class dynamic instrumentation framework | Inject JavaScript to explore native apps on Windows, macOS, GNU/Linux, iOS, Android, and QNX
GitHub - BlueDream145/AmaknaCore-Sniffer: Game Sniffer for Desktop Dofus 2.0+
Tu peux toujours poster tes questions dans Questions/Réponses et rejoindre le Discord pour plus d'aide.