Autre Récupérer le canal information du chat D2

Inscrit
28 Octobre 2014
Messages
5
Reactions
1
#1
Bonjour ,

Je suis actuellement en train de développer un petit bot en java ( c'est surtout pour m'améliorer niveau programmation ) , mais par contre pour perfectionner mon bot , il faut que je récupère le canal information . Je me débrouillerais ( enfin j’espère lol ) pour récupérer les données que le serveur envoi au client . ( je ne veux ne veux cependant pas envoyer au serveur )

Par contre je n'ai aucune idée de comment comprendre et donc traduire les données pour que je puisse utiliser le canal information dans mon bot . Après quelques recherche sur le forum , j'ai utilisé WPE PRO pour essayer de comprendre mais en vain .

Je souhaiterais donc savoir si quelqu'un peut m'éclairer sur la façon de traduire les données reçu mais aussi comment reconnaître qu'il s'agit d'une information dont j'ai besoin , j'ai par exemple :
02 D1 66 02 00 00 08 4B 72 61 2D 4E 65 75 7A 04
4E 44 EE 00 05 51 77 61 7A 79 00 56 26 AC 00 14
00 02 00 7F 00 00 91 F6 00 0D 57 68 61 74 20 74
68 65 20 44 75 63 6B 01 27 00 FD BC 00 00 08 00
2C 2C 2C 01 A1 00 00 01 7B 00 04 4F 50 54 49 00
0B 42 72 6F 74 68 65 72 68 6F 6F 64 00 9C 00 EE
B3 0A 00 08 00 23 23 23 01 02 C0
Sachant que les deux premiers permettent d'avoir l'id mais après je n'ai pas réussi a suivre les tutos ( au niveau retrouver le fichier dans le .SWF )

En vous remerciant d'avance de votre aide :)
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
150
#2
Bonsoir,

déjà pour répondre à ta première question. Le canal information est traité par le paquet 'TextInformationMessage', dont l'id est 780.
Sauf qu'il ne s'agit pas seulement de récupérer un texte brute.

Voici les variables du TextInformationMessage:

Code:
public sbyte msgType;
        public short msgId;
        public string[] parameters;
- msgType comme l'indique son nom, défini le type du message.
Un énumérateur est présent dans les sources pour ce message 'TextInformationTypeEnum'.

Code:
TEXT_INFORMATION_MESSAGE = 0,
        TEXT_INFORMATION_ERROR = 1,
        TEXT_INFORMATION_PVP = 2,
        TEXT_INFORMATION_FIGHT_LOG = 3,
        TEXT_INFORMATION_POPUP = 4,
        TEXT_LIVING_OBJECT = 5,
        TEXT_ENTITY_TALK = 6,
        TEXT_INFORMATION_FIGHT = 7,

- msgId est donc l'id du message. On obtient le texte de ce message en passant par les D2o puis les I8N.
Les D2o te fourniront une nouvelle ID pour ce message et les I8N te retourneront le string du message.

- parameters sont en fait les données envoyé par les serveur a remplacer dans le message.
Par exemple: Les I8N nous retourne un message de cette forme "Bienvenue dans dofus dans les mondes des douzes ... Vous vous êtes connectés pour la dernière fois à %1%:%2%."
Il suffit de remplacer un par un les %x% par le paramètre contenu dans le message.
"Bienvenue dans dofus dans les mondes des douzes ... Vous vous êtes connectés pour la dernière fois à 22:36."

En ce qui concerne ta seconde question.
Pour décompiler le fichier DofusInvoker, il existe des décompilateurs d'AS3 gratuits dont JPEXS.
http://www.free-decompiler.com/flash/

Tu sélection le fichier à la racine du jeu et tu te rend dans 'Com/AnkamaGames/Dofus/Network'. Tu y trouvera tout les paquets du jeu.

Et enfin pour récupérer les données que tu cherche dans les data envoyé par le serveur il te faut un parseur.
Mais je ne comprend pas bien comment tu souhaites récupérer les données d'un paquets à ce niveau la du jeu sans têtre au préalable connecté.

Cordialement
 
Inscrit
28 Octobre 2014
Messages
5
Reactions
1
#3
Bonjour ,

Merci de m'avoir répondu , je pense abandonner mon projet puisque je n'y comprends rien , je le reprendrais après avoir pris des cours de réseau ...

Mon projet était de créer un programme récupèrent le canal information ( ou plutôt les informations sur la forgemagie ) pour voir si la rune passe ou non et calculé ainsi s'il y a lieu le puit et l'indiquer )

Cordialement
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
150
#4
Tu n'y comprend rien simplement car tu n'as même pas essayer. On ne se lance pas dans un protocole sans l'avoir au préalable étudié.
De plus un bot dofus ça doit être 2% de réseau mais bon après c'est toi qui voit.
 
Haut Bas