BOT MITM

Inscrit
5 Novembre 2016
Messages
56
Reactions
2
#1
Bonjour,

je suis entrain de développer un MITM (que je rendrai OpenSource une fois opérationnel) en JAVA, sauf que j'ai un problème (ÉTRANGE) que je n'arrive pas à le résoudre (pour l'instant :) )


pour l'instant, je me penche sur le bot metier, plus exactement Mineur. [MODE SNIFFING]
Quand tout marche bien, pour récolter du fer ou autre minerai, voici les échanges entre le serveur et client.
2019-10-22 13:27:15.756 : [OUT] : GA001fdBedxfc9 // Demande de deplacement
2019-10-22 13:27:15.762 : [OUT] : GA500189;26 // ordoner la recolte
2019-10-22 13:27:15.781 : [IN] : GA0;1;90023683;aepfdBedxfdk // le chemin à parcourir
2019-10-22 13:27:15.803 : [IN] : BN // operation fini
2019-10-22 13:27:18.006 : [OUT] : GKK0 // fin de deplacement

2019-10-22 13:27:18.030 : [IN] : GA1;501;90023683;189,8700 // commence à piocher
2019-10-22 13:27:18.031 : [IN] : GDF|189;2;0 // changement du statut de la ressource
2019-10-22 13:27:26.746 : [OUT] : GKK1 // fin de minage

2019-10-22 13:27:26.770 : [IN] : GDF|189;3;0 // changement statut dela ressource
2019-10-22 13:27:26.771 : [IN] : OQ2892543|41 // ajout d'un idem dans l'inventaire
2019-10-22 13:27:26.772 : [IN] : Ow585|1679 // modification du pods
2019-10-22 13:27:26.772 : [IN] : IQ90023683|3 // xxxxxxxx
2019-10-22 13:27:26.773 : [IN] : JX|24;33;23726;24492;25353 // update xp metier





mais quand ca ne marche pas, voici les echanges [MODE BOT]
2019-10-22 13:33:50.772 : [OUT] GA001gbEfbr // Demande de deplacement
2019-10-22 13:33:50.795 : [OUT] GA50081;24 // ordoner la recolte
2019-10-22 13:33:50.828 : [IN] : GA0;1;90023683;acPgbE // le chemin à parcourir
2019-10-22 13:33:50.848 : [IN] : BN // operation fini
2019-10-22 13:33:50.851 : [IN] : BN // operation fini 2eme fois
2019-10-22 13:33:54.149 : [OUT] : GKK0 // fin de deplacement
RIEN, et à ca moment là, le serveur ne nous répond plus,




- On peut remarquer que le debut de la conversation Client/Serveur est normal, mais d'un coup, le serveur envoie 2 BN et ne repond plus

CONSTAT : j'ai remarqué que pour les cells_id inférieurs à 100, ce probleme intervient,

aviez vous des remarques/conseils/solutions ou n'importe quoi :)
je peux publier le code si necessaire

je vous remercie d'avance
 
Inscrit
3 Avril 2011
Messages
32
Reactions
17
#2
Parfois quand la case est atteinable sans déplacement, il faut seulement demander le récolte, ça peut bloquer sinon.
 
Inscrit
5 Novembre 2016
Messages
56
Reactions
2
#3
j'ai vérifié ton hypothèse, la case est donc atteignable avec déplacement.
 

tazman59

Contributeur
Inscrit
20 Decembre 2012
Messages
149
Reactions
27
#4
Te fais tu déconnecter ?
 
Inscrit
5 Novembre 2016
Messages
56
Reactions
2
#5
non, je ne me fais pas déconnecter. le serveur ne me répond plus.
 
Inscrit
5 Novembre 2016
Messages
56
Reactions
2
#6
j'ai essayé quelque chose,

une premiere approche pour recolter une ressource avec le client DOFUS
j'ai eu ces packets
2019-10-22 19:23:23.157 INFO 12153 --- [ SimpleNet-1] com.mitm.network.ProxyHandler : [OUT] : GA001dc1ec0fbAhbm

2019-10-22 19:23:23.164 INFO 12153 --- [ SimpleNet-3] com.mitm.network.ProxyHandler : [OUT] : GA50076;26

2019-10-22 19:23:23.230 INFO 12153 --- [ SimpleNet-14] com.mitm.network.ProxyHandler : [IN] : GA0;1;90023683;abHdc1ec0fbA
2019-10-22 19:23:23.311 INFO 12153 --- [ SimpleNet-14] com.mitm.network.ProxyHandler : [IN] : BN
2019-10-22 19:23:24.523 INFO 12153 --- [ SimpleNet-2] com.mitm.network.ProxyHandler : [OUT] : GKE0|180

2019-10-22 19:23:24.527 INFO 12153 --- [ SimpleNet-1] com.mitm.network.ProxyHandler : [OUT] : GA001bddadfhc3





une seconde tentative avec mon bote, voici ces packets
2019-10-22 19:23:32.736 INFO 12153 --- [nio-8080-exec-4] com.mitm.network.ProxyHandler : [OUT] GA001dc1ec0fbAhbm
2019-10-22 19:23:32.757 INFO 12153 --- [nio-8080-exec-4] com.mitm.network.ProxyHandler : [OUT] GA50076;26
2019-10-22 19:23:32.806 INFO 12153 --- [ SimpleNet-14] com.mitm.handlers.GA0Handler : BANK:5971:90
2019-10-22 19:23:32.807 INFO 12153 --- [ SimpleNet-14] com.mitm.network.ProxyHandler : [IN] : GA0;1;90023683;abHdc1ec0fbA
2019-10-22 19:23:32.832 INFO 12153 --- [ SimpleNet-14] com.mitm.network.ProxyHandler : [IN] : BN
2019-10-22 19:23:32.832 INFO 12153 --- [ SimpleNet-14] com.mitm.network.ProxyHandler : [IN] : BN
2019-10-22 19:23:35.495 INFO 12153 --- [ SimpleNet-1] com.mitm.network.ProxyHandler : [OUT] : GKK0






mais, c'est exactement les mêmes ...
 
Inscrit
28 Mai 2017
Messages
9
Reactions
0
#7
Hello,

C’est peut être totalement à côté de la plaque mais j’ai déjà eu un soucis similaire parce que le buffer de mon proxy était trop petit
 
Inscrit
5 Novembre 2016
Messages
56
Reactions
2
#8
bonjour,

je crois savoir d'où vient le probleme,
je vois dans le log (quand le client manipule le joueur) des retours à la lignes (\n), que je ne vois pas dans le log quand le bot est démarré, je suppose qu'il manque un caractere spécial.

je vais afficher les packets en byte, et normalement tous les packets doivent finir par \n \0

je vous tiendrai au courant
 
Inscrit
5 Novembre 2016
Messages
56
Reactions
2
#9
probleme résolé,

j'ai modifié mon code de :
code initial:
public synchronized void sendMessageToDofus(String message) {
        logger.info("[OUT] {}", message);
        Packet.builder()
                .putString(message, StandardCharsets.UTF_8)
                .putByte(10)
                .putByte(0)
                .writeAndFlush(this.socketDofus);
    }

par

code final:
public synchronized void sendMessageToDofus(String message) {
        logger.info("[OUT] {}", message);
        byte[] data = (message + "\n" + "\0").getBytes(StandardCharsets.UTF_8);
        Packet.builder().putBytes(data).writeAndFlush(this.socketDofus);
}

avec cette modification, mon code ne beug plus, mais peut être ce n'est pas une solution optimale
 
Haut Bas