C/C++ [C] Creation d'un bot D2

Gohu

Membre Actif
Inscrit
16 Novembre 2013
Messages
222
Reactions
2
#1
Bonjour à tous,

J'ai de solides bases en C (tout du moins c'est ce que je pense :) ), et ce matin l'idée m'est venue de faire un bot sur D2.
Après moult recherches sur le sujet, je pense avoir compris le principe.
J'aimerais savoir comment aborder le problème: c'est a dire par ou commencer... De plus j'ai vu des sites qui parlaient de pixel et
tout ca --> chose que je n'ai absolument pas comprise.
Si quelqu'un de patient pouvait m'expliquer les premieres étaper que je devrais commencer par codées ça serait tres sympa

Merci d'avance!
 

Shornaal

Membre Actif
Inscrit
17 Février 2011
Messages
194
Reactions
0
#2
La questions des pixels se pose car il existe deux grandes voies ou deux approches, pour faire son Bot.

• Le PixelSearch, basé sur Auto-it et parfois exporté sur d'autres langages comme le C pour gagner en vitesse d'exécution et qui consiste à rechercher des pixels (Comme des pixels spécifiques au blé par exemple) pour déplacer automatiquement la souris dessus et effectuer des actions. C'est l'approche la plus simple à maitriser, sans doute la plus rapide aussi malheureusement elle est aussi assez limitée. De plus cette approche monopolise la souris pendant l'exécution du programme.

• L’approche réseau, basé sur la communication TCP/IP qui consiste soit à rediriger la connexion du client de Dofus vers son programme, soit établir une connexion directe vers le serveur pour recevoir les données, les décrypter (Dofus 2 possède son propre protocole) pour proposer une réponse viable. Cela demande plus de compétences et un délai de développement bien plus grand mais, il y a aussi à mon sens bien plus de possibilités.

Je te conseillerais de commencer par décompiler le client de Dofus 2 qui est développé en ActionScript. Tu en auras besoin tout au long de ton travail. Il va également te falloir un sniffer comme WPE Pro ou si tu te sens plus à l'aise Wireshark qui est un excellent logiciel. Parallèlement, lire le tutoriel de Bouh2 sur le protocole dans la section Autres et très instructif également et devrait te permettre d'y voir un peu plus clair. En bref:

  • Données reçues -> Décryptage (ID, taille de la taille, taille, contenu) -> Message -> Traitement -> Réponse.

Tu pourras te faire également une idée en consultant les sources de Munrek si je ne m'abuse qui avait fait un essai en D dont la syntaxe est très proche.
 

Gohu

Membre Actif
Inscrit
16 Novembre 2013
Messages
222
Reactions
2
#3
Super! Merci pour ta réponse claire et consise.
En revanche, après reflexion, je pense me tourner du coté de Python (que je connais plutot bien)
car il y est facile d'y gerer les sockets et il existe des modules pour réaliser des interfaces graphiques qui sont très puissants.
Quant dites vous ?

Merci

EDIT: Je suis sous mac, et donc forcé d'utilisé Wireshark: auriez vous une idée pour séléctionner les paquets émis par une application spécifique car sinon c'est vraiment la galère!
EDIT2: Je viens d'essayer de décompiler DofusInvoker.swf. Je ne sais pas si ce que j'obtiens est du au fait que je sois sur mac mais je n'ai aucun fichier .as et les dossiers sont tous différent de ce que j'ai pu trouver comme exemple sur le net... Si quelqu’un pouvait m'aider
 
Haut Bas