2.0 BehaviorIsManaged 2.11 -> 2.49

Inscrit
4 Janvier 2019
Messages
2
Reactions
0
#1
Hello les gars, j'ai pas vraiment d'expérience en dev de bot mais je me lance quand même :)

J'essaye de reprendre le très bien fait MITM BehaviorIsManaged pour le updater de 2.11 vers 2.49. Jusque là j'ai réussi à mettre à jour le protocole, lecture des maps et j'arrive à connecter le MITM au serveur d'auth ( j'utilise amaknaCore.Patcher pour hook) et au client d0fus. Après l'échange de quelques messages (ProtoclRequired et HelloConnectMessage) il se passe rien et le client reste en attente.
En regardant dans les logs du client d0fus, je vois bien qu'il a reçu les 2 messages ProtoclRequired et HelloConnectMessage de la part du MITM, et qu'il a envoyé en retour le message Identification, le souci c'est que le MITM ne reçoit jamais ce message du client.

Du coup j'ai clairement rater un truc, et ma question à l’âme charitable qui pourrait me répondre : Est ce que le MITM (en l'occurence BiM pour ceux qui connaissent un peu) est sensé :
1- Recevoir tout les messages du client (dans mon cas IdentificationMessage) ? si oui, comment on pourra connaitre la clé AES générée par le client et dont on aura besoin ultérieurement ?
2 -Ou bien le MITM est sensé créer lui même le message identification (decrypter la clé de HelloConnectMessage par la clé statique et crypter les credentials ) et l'envoyer au serveur ? si c'est le cas donc ce n'est pas vraiement un MITM, mais une réimplementation du client ?!

Merci d'avance de votre aide :)
 
Inscrit
25 Novembre 2015
Messages
169
Reactions
20
#2
Le (pas si bien fait que ça) bot BiM est d'après son nom un MITM, et il est donc supposé fonctionner de la façon énoncé dans ton 1, à savoir recevoir les messages du client et les transmettre au serveur (avec une logique framing (metada, cf message builder dans BiM) non dépendante de la logique messaging (données des messages, cf network message, serialization/deserialization) dans le meilleur des mondes) afin de pouvoir simplement forward les messages reçu si ils n'ont pas besoin d'être traité.

Mais tu l'aura compris, ce n'est pas le cas de BiM (qui au passage est obsolète vu la date de sa conception et toutes les update qu'il y a du .NET framework et du langage c#) parce qu'il y a une GUI et que dans le cadre d'un bot, tu dois traiter chaque message au minimum pour récupérer les infos qu'ils contiennent et pouvoir faire des actions avec (traitement, affichage... tu peux le constater dans les messages handlers). Comme BiM filtre quasiment tous les messages pour maintenir sa GUI à jour, si tes binaries (big endian writer, reader) et ton protocol ne sont pas à jour (customVar, instanceId...) tu peux effectivement t'heurter aux problemes dont tu parles. Tu as vérifié ce qui se passe côté client avec les logs ?
 
Inscrit
4 Janvier 2019
Messages
2
Reactions
0
#3
je te remercie pour ta réponse @Nameless ça me permet d'y voir plus claire.

Je suis un ancien joueur d0fus (2007-2009). j'ai commencé à m’intéresser au dev de bots depuis 2 semaines, et pendant ce temps j'ai exploré pas mal de concepts et de projets grâce à Cadernis.

J'étais à la recherche d'un projet open source qui me permettra de démarrer sur une bonne base, du coup j'ai choisi BiM vu le nombre de recommandations que j'ai trouvé sur ce forum concernant ce dernier, et surtout j'étais bluffé par les features rajoutés par @FastFrench dans son poste ( https://cadernis.fr/index.php?threads/retours-dexpérience.898/) et j'étais particulièrement tenté de rajouter des modules AI au projet ...

La prise en main du projet n'était pas une mince affaire :
- Adapter le projet à VS 2015 (surtout que je viens du monde Eclipse/Java),
- décompilation du code avec l' SoThink (logiciel pourri qui pète au chargement des fichiers volumineux) au lieu de JPEXS pour rester compatible avec le protocoleBuilder initiale du BiM,
- Générer un nouveau protocole, là je découvre les customReader et writer avec les VarUhXXX que je rajoute aussi (par contre instanceId ça me dit rien !! )
- Corriger un million de problème de compile du aux différence entre les plugins BiM et le nouveau protocole (changement de type des primitives ou de classes qui ont évoluées ...)
- Créer (à la mano) des classes qui étaient pas dans les packages AS décompilés
- d'autre petites magouilles.. bref

Par contre je dois avouer que j'étais très étonné par la qualité du code de BiM qui dépasse de loin la qualité de la plupart des projets sur lesquels j'ai eu l'occasion de travailler pendant mon parcours pro, et pour lesquels les gens dépensent des fortune ! Bravo @bouh2

Anyway, vous pensez que ça vaut le coup de continuer sur cette piste ? c-à-d essayer d'upgrader BiM ? serait-il après possible de pouvoir ajouter des feature telles que celles décrites par @FastFrench ?
Sinon, sauriez-vous me recommander d'autres projets open source qui délivreront un meilleur retours sur investissement ?
Je suis ouvert à toute proposition quelque soit le type de projet (MITM ou pas) ou n'importe quelle language de prog.

PS : je suis tellement absorbé par cette histoire de développer un bot d0fus que je risque de rater un entretien professionnel très important que j'ai dans une semaine avec l'un des GAFA car j'ai pas du tout pris le temps pour préparer ><''

Merci :)
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#4
Franchement, reprendre BiM, je pense pas que ce soit une bonne idée.
Le bot est complet, offre un interface graphique agréable certes, mais il présente de nombreux problèmes, d'abord et avant tout, de consommation, que ce soit sur la Ram ou le CPU.
Après rien n'est impossible, mais sache que il y a beaucoup (beaucoup) de boulot.
Il ne s'agira pas seulement de mettre à jour les paquets et les gameData quoi.
Si tu es motivé lance toi.
 
Haut Bas