Coder Social home page Coder Social logo

karrelage's Introduction


Logo

Karrelage

MITM pour Dofus 2.XX

Report Bug

Sommaire
  1. A propos du projet
  2. Installation
  3. Modules
  4. Lecture de packets
  5. Développement
  6. Copyright
  7. Licence

A propos du projet

Karrelage est un MITM pour Dofus 2.XX en Python 3. C'est la suite de DofusHelper, avec une interface plus moderne et un système de module et de packet sniffing plus flexible. Il utilise LaBot pour capter les paquets reçus par le client. Un système de module permet de créer plusieurs handlers à leur réception (voir plus bas pour des exemples). L'interface utilise Flask, avec TailwdindCSS et Flowbite pour le style.

(back to top)

Installation

  1. Installer Python 3
  2. Ajouter PIP (installé avec les dernières versions de Python) à votre Path. Si vous n'avez rien touché à l'installation de python, le dossier à ajouter devrait être 'C:\Program Files\Python3XX\Scripts'.
  3. Installer Npcap <= 1.60
  4. Installer Git
  5. Exporter le git (bash, zip, ...)
  6. Installer les packages python
    pip install -r requirements.txt
    ou en lançant le fichier install.bat.
  7. Lancer l'interface par la commande
    python app.py
    ou en lançant le fichier launch.bat.

    (back to top)

Modules

Karrelage utilise un système de module pour gérer les paquets reçus. Un module est un fichier python qui contient une classe qui hérite de la classe DofusModule. Cette classe contient une méthode handle_packet qui parse les messages reçus par le client, et envoie le packet avec à la fonction correspondante du module (sous la forme handle_<packet_name>). Le menu de Karrelage permet de sélectionner quel module lancer. Actuellement, un seul module peut être lancé à la fois.

Menu Screenshot

Module HDV Filter

Ce module sert à filtrer les ventes d'équipements en HDV. En sélectionnant un item en HDV, ses caractéristiques sont affichées sur l'interface de Karrelage. Vous pouvez ensuite spécifier des valeurs minimums pour chaque caractéristique, et le module ne vous affichera que les ventes qui correspondent à ces valeurs. Vous pouvez aussi rapidement ajouter un exo PA/PM/PO par les boutons.

HDV Filter Screenshot

Vous pouvez ensuite bouger entre chaque vente. Le module affichera les caractéristiques de l'équipement, ainsi que le prix de vente. Un code couleur indique si la caractéristique est en jet parfait, over, exo, négative, ou moins de la valeur minimale. Une option Stats négatives permet aussi d'afficher la distance au jet parfait.

HDV Filter Screenshot

Module Team Manager

Ce module est un outil multicompte combiné à un récap d'équipe.

  • Récap d'équipe : en entrée de combat, il affiche tous les membres de l'équipe, et compatibilise tout au long du combat les dégâts infligés, soins/bouclier envoyés et vols de vie appliqués.
  • Partie multicompte : détecte les personnages de l'équipe que vous jouez. A chaque début de tour d'un jour, il met au premier plan le personnage en question (pas besoin de Alt+Tab). Il est possible de mettre dans le fichier config/multicompte.json les noms des personnages que vous jouez, ce qui activera la fonctionnalité de clic partagé (un clic milieu de la souris envoie un clic gauche sur tous les personnages de l'équipe à la même position). Il y'a aussi une option sur chacun de vos personnages d'activer un mode "Passe tour automatique", qui au lieu d'ouvrir la fenetre en début de tour, va envoyer la touche V (qui pour moi fait passer le tour) même en arrière plan (mater un film pendant un PL sasa par exemple). Faites juste attention à ne pas avoir un challenge qui vous demande d'effectuer une action avant de passer, car le passage de tour est instant.

Team Manager Screenshot

Forgemager

Forgemager est un module de calcul automatique du reliquat. Il suit les runes utilisées ainsi que les résultats de chaque tentative, et vous affiche le reliquat disponible à un moment donné. Vous pouvez aussi manuellement augmenter/diminuer le reliquat manuellement, si vous commencez un FM avec déjà du reliquat sur l'item par exemple.

Forgemager screenshot

Biscuit

Biscuit est un module "Quality of Life". Il est destiné à être laissé en arrière plan, si un autre module n'est pas déjà en cours d'execution. C'est ici que je mets toutes les idées de petites fonctionnalités utiles qui n'ont pas de raison d'avoir un module à part. Pour l'instant, il y'a :

  • Un système de commandes, utilisables en jeu. Il suffit d'utiliser le canal de guilde /g our groupe /p, et de lancer les commander avec $command. Par exemple, $price suivi d'un link (Ctrl+shift) d'un item va calculer le prix de craft estimé à partir de la recette, et du prix moyen des ressources associées. $srambad et les autres variantes de dimension va afficher la position des portails de la dimension en question. Les réponses sont envoyées dans le chat actuel.
  • Une détection d'archimonstre & d'avis de recherche (un son est joué en entrant sur la map), et une détection de maisons abandonnées seules (qui seront donc mises en vente au mois prochain). L'interface permet de choisir quels outils utiliser.

Biscuit screenshot

Treasure Hunter

Treasure Hunter est un bot chasse aux trésors. Une fois celui-ci ouvert, lancez une chasse au trésor. Pour la première étape rien ne va se passer, mais une fois que allez arriver vers la position de lancement, il va aller à chaque indice automatiquement. L'interface affiche pour l'instant uniquement une option d'autopilot, qui va utiliser votre monture autopilotée à la place d'un clic sur les bords de l'écran. Pour trouver les indices, Treasure Hunter ouvre en background une fenêtre Chrome (contrôlée par Selenium), et utilise DofusDB pour dynamiquement obtenir la position des indices.

Debug

Ici c'est juste un module de debug qui permet de parcourir tous les packets reçus. On affiche le type de packet, timestamp et packet size. Si vous sélectionnez un packet, son contenu en format json est affiché. On peut filtrer les types et le contenu des packets.

Debug screenshot

Lecture de packets

Karrelage intègre deux type de lecture de packet, sélectionnables depuis le menu avant del ancer un module : Sniffer et Attach.

Sniffer

Karrelage va simplement écouter tous les packets reçus par n'importe quel client Dofus. Il ne modifie aucune connexion entrance/sortante. Fonctionne très bien, mais a du mal à gérer les gros packets qui sont envoyés au même moment pour plusieurs clients (comme les packets de combat en multicompte). Sniffer est donc à utiliser quand vous êtes en mono-compte, ou n'avez pas besoin du module de combat. Lancez le à n'importe quel moment et ça marchera. C'est le mode par défaut.

Attach

Karrelage va ici hijack la connexion avec le serveur d'un client en particulier, et va ensuite transférer les packets entrants/sortants de ce client uniquement. On peut ainsi éviter d'avoir des problèmes de packet qui se chevauchent. C'est le mode à utiliser quand vous êtes en multicompte et que vous utilisez le module de combat.

Plus délicat à lancer, il faut qu'il arrive à intercepter la connexion client/serveur, qui se lance quand vous sélectionnez un serveur, ou changez de personnage. Trouvez la manip qui vous arrange le plus, et gardez Karrelage d'ouvert pour qu'il capte la connexion. De plus, Karrelage s'occupant de la transmission des packets, si celui est fermé (par vous ou par un crash) la connexion client/serveur est temporairement perdue et ça va vous faire une mini re-connexion.

(back to top)

Développement

Commande pour lancer l'auto-compilation du CSS par TailwindCSS (nécessite NodeJS):

npx tailwindcss -i ./static/src/input.css -o ./static/dist/css/output.css --watch

Copyright

Merci à LaBot pour son reader/writer de packet et balciseri pour son reader/writer de fichiers Dofus.

License

MIT

(back to top)

karrelage's People

Contributors

justnao avatar yassine3isi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.