C# [2.0] Simple bot en MITM

Inscrit
15 Novembre 2014
Messages
70
Reactions
0
#1
Bonjour à tous !

Je présente enfin mon "projet", c'est plus un challenge qu'un projet.
Je ne suis pas très avancé dans le langage C#, je me suis beaucoup aidé de l'existant et des divers tutos de Cadernis.
C'est un bot MITM pour Dofus 2.0.

Je suis passé par des interface car j'adore en faire et je trouve la console trop monotone :p


Je me suis aidé de ce tuto pour gérer les clients et servers.
Je n'ai pas encore trié les divers paquets reçus mais ça viendra.

Venons-en au but de ce post, je partage mon projet plus pour que quelqu'un me corrige et me dise ce que je fais de mal. Car c'est comme ça que je progresse :)


Voilà je pense avoir tout dit, je vais sans doute poser quelques questions dans la section appropriée quand j'en aurais besoin (très très très très bientôt :vicieux:)


Lien Github : https://github.com/Rtxx1/MyBot


N'hésitez pas à poster vos critiques !
 
Inscrit
18 Février 2017
Messages
149
Reactions
18
#2
pourquoi faire une grosse fenêtre.? tu aurais pu mettre des boutons sur l'interface "console", ça aurait été moins encombrant^^
 
Inscrit
15 Novembre 2014
Messages
70
Reactions
0
#3
Je comprends pas ta question... Ma grosse fenêtre est une MdiContainer ^^
 
Inscrit
18 Février 2017
Messages
149
Reactions
18
#4
ben je l'a trouve encombrante :-/ mais après c'est du chipotage hein^^
 
Inscrit
15 Novembre 2014
Messages
70
Reactions
0
#5
Moi j'aime bien ça fait interface mère et ses enfants ^^
 
Inscrit
18 Février 2017
Messages
149
Reactions
18
#6
ahah oui vu comme ça^^
et c'est quoi les fonctionnalités actuelles du bot.? tu veux en faire quoi dans la finalité.?
 
Inscrit
15 Novembre 2014
Messages
70
Reactions
0
#7
Actuellement le bot reçois et transmet les paquets reçus du client et du serveur. Et je souhaite commencer par gérer les paquets de l'hôtel de vente pour faire une actualisation automatique. Je pourrais peut-être faire un système de combat et récolte plus tard.
 
Inscrit
18 Février 2017
Messages
149
Reactions
18
#8
ah d'accord, pour ma part j'ai pris ton bot parce que les packets et leurs traitement me fascine.
bon courage^^
 
Inscrit
10 Mai 2015
Messages
357
Reactions
55
#9
Pour afficher le packet à partir de son ID je te conseil de passer par autre chose car si les packets changent et que tu dois modifier à chaque fois ta classe c'est mieux d'utiliser la réfléxion.

Et l'interface me fait fort penser à Ama... euh rien laisse tomber.:vicieux: Bonne chance pour la suite.
 
Inscrit
15 Novembre 2014
Messages
70
Reactions
0
#10
Qu'est ce que tu appelles la réflexion ?

Ama quoi je vois pas ^^ J'ai pris exemple sur LeafBot :p
 
Inscrit
27 Mai 2016
Messages
14
Reactions
0
#12
Qu'est ce que tu appelles la réflexion ?
Tu peux utiliser quelque chose comme ça :
C#:
public static class MessageIdentifier
    {
        private static readonly Dictionary<int, string> Packets = new Dictionary<int, string>();

        public static void Initialize()
        {
            var asm = Assembly.GetAssembly(typeof (MessageIdentifier));
            foreach (var type in asm.GetTypes().Where(entry => entry.IsSubclassOf(typeof (NetworkMessage))))
            {
                var property = type.GetProperty("ProtocolId");
                if(property == null) continue;
                var num = (int) property.GetValue(Activator.CreateInstance(type), null);
                if(Packets.ContainsKey(num)) continue;
                Packets.Add(num, type.Name);
            }
        }

        public static string GetMessageName(int id) => Packets[id];
    }

Pour utiliser ça, il te faudra le protocol traduit dans sa totalité (messages + types).
Tu appelles la méthode Initialize au lancement de ton bot et ça devrait être bon ^^
 
Inscrit
15 Novembre 2014
Messages
70
Reactions
0
#13
Je t'avouerai que le code que tu me donnes n'est pas de mon niveau... Je vais regarder ça ce soir si j'ai le temps *-*
 

Mixi

Magouilleur
Inscrit
15 Février 2015
Messages
6
Reactions
0
#15
Merci pour le partage, moi qui cherchais quelque chose de "Compréhensible" :inlove:
 
Inscrit
15 Novembre 2014
Messages
70
Reactions
0
#16
De rien, n'hésite pas à me dire si tu vois des bêtises :)
 
Inscrit
2 Novembre 2013
Messages
38
Reactions
0
#17
Ahh, il se lance enfin ! Bonne chance rtxx ;)
 
Inscrit
22 Mars 2019
Messages
1
Reactions
0
#18
Bonjour. Le bot marche toujours? Je l'ai testé et il s'arrête là Capture.PNG
 
Inscrit
25 Novembre 2015
Messages
169
Reactions
20
#20
Après un MITM c'est censé fonctionner peu importe la version puisque le comportement de base c'est de forward les paquets, et pas de filtrer tout le protocol et le resererializer après comme on peut voir dans pas mal de source ici. (c'est pas le cas de ce projet je crois mais j'ai regarder un peu le code ça m'a suffit pour comprendre que c'était du bouh2 réchauffer)
 
Haut Bas