Bonjour à tous,
Je me lance dans un projet, qui consisterai à sniffer les pacquets qui m'interessent, pour ensuite venir intégrer les données à un ERP en automatique, ce qui me permettrait de mieux gérer mes stocks, ma base de clients etc...
(J'avoue que déployer un ERP pour jouer à Dofus, c'est un peu overkill, mais je le fait principalement pour le kiff, j'ai pas l'intention de devenir riche en kamas grâce à ça, simplement pour le plaisir d'interconnecter plusieurs solutions).
Je précise pour la suite que même si j'ai de bonnes compétences en développement, notamment en c#, mes compétences réseaux sont proches du néant.
Au fil des années, j'ai essayé à plusieurs reprise de comprendre les pacquets Dofus 2.0, et j'ai enfin réussi hier soir (A quelques mois du changement de version...)
J'ai naivement cru que les protocoles allaient rester les mêmes entre 2.0 et Unity, ce qui, comme vous le savez déjà, n'est pas le cas.
A partir d'aujourd'hui, j'ai donc essayé d'aller chercher les informations par moi même!
J'ai donc essayé de décompiler les dll grâce à Dotpeek, pas possible.
J'ai ensuite récupéré l'ensemble des dll du jeu grâce à Il2CppDumper, suite à quoi j'ai pu décompiler grâce à DotPeek.
Je trouve un bout des morceaux de codes assez imbuvables au niveau des protocoles, j'ai cru comprendre que je ne pourrais pas trouver le code des protocoles de cette manière (c'est à partir de là où il faut m'excuser si mes infos ne sont pas exactes).
Suite à ça, j'ai donc vu passer des messages à propos de MelonLoader, et je m'y suis penché. Il est vrai que même s'il est marrant de changer la speed des animations, ce n'est pas ce que je cherche à faire.
Je me penche donc du côté de la console C# intéractive, notamment grâce à ce lien :
https://github.com/LuaxY/dofus-unity-protocol-builder/blob/main/cmd/builder/README.md
Le code fourni servirait à retrouver les informations des descriptions des classes Protocol inclues dans des assemblies dynamiques.
En essayant de rentrer le code fourni (je vous le tape pas là, le message commence déjà à être assez long), que j'ai revisité un peu, je me mange un plantage pur et dur de dofus sur la ligne de récupération des types de l'assembly.
var types = ass.GetTypes();
J'ai également essayé de passer par du C# depuis VS, en allant chercher mon assembly en statique par une référence, ou en "dynamique" en la chargeant par son chemin de l'interieur du code....
Mais je me mange des erreurs, qui sont, si j'ai bien compris, du au fait que les assemblies soient dynamiques (je pense pas avoir compris ce concept pour être honnête)
J'ai également analysé les pacquets à la mano, grâce à WireShark, mais jvous apprend rien, sans les protocoles, c'est..... complexe?
Je viens donc après quelques petites heures de durs labeur, déjà partager mon experience de développeur aguéri, mais ayant 0 skill en réseau.
En plus de ça, je voulais vous demander comment il était possible de rejoindre les channels consacrés à ces thématiques sur Discord. J'ai entendu parler de channels communautaire sur ce forum, et je dois avouer que ça m'interesse bien, ne serait-ce que pour échanger ou pour m'inspirer sur ce que les autres ont fait pour m'aider sur mes points de blocages.
Merci d'avoir lu ce long message, en espérant avoir de vos nouvelles :)
Bonne journée tout le monde!