C/C++ HelloConnectMessage->IdentificationMessage

Inscrit
2 Juillet 2015
Messages
41
Reactions
0
#1
Bonsoir,
Face aux terribles difficultés du RSA :lol: , j'ai sniffé la clef envoyée par le serveur, l'ai empaquetée dans un fichier sans mettre de caractère de fin de ligne ( j'ai fait attention :) ), puis je l'ai chargée dans mon embryon d'emu.
J'ai fait un petit touillage de tout ça et j'ai envoyé au client. (ça a fonctionné un court instant puis le client a affiché un petit pop-up indiquant : "Il est impossible d'authentifier le serveur veuillez mettre à jour votre client." ensuite il est resté grisé jusqu'à ce que j'éteigne mon emu (qui a quitté en faisant cracher le debuggeur) et la j'ai eu un deuxieme pop-up "la connexion avec le serveur a été interrompue inopinément"
Cliquant sur le client j'ai appuyé rapidement sur F11 et ayant sorti le fichier de debug j'ai vu ça :
Code:
[20:16:42:947] [ServerConnection] Connecting to 213.248.126.40:5555...#petit commentaire j'utilise la dll No etc... donc c'est normal que ce soit l'ip officiel, 
[20:16:42:960] [ServerConnection] Connection opened.
[20:16:45:968] [ServerConnection] [SND] > BasicPingMessage @7
[20:16:46:217] [ServerConnection] [RCV] BasicPongMessage @8
[20:16:46:279] [ServerConnection] [RCV] ProtocolRequired @9
[20:16:46:287] [Worker] Removing frame: [object HandshakeFrame]
[20:16:46:472] [ServerConnection] [RCV] HelloConnectMessage @10
[20:16:46:745] [UiRenderManager] Ankama_Common::popup rendered in 48 ms (parsing: 0 ms, build: 48 ms, script:0 ms )
[20:16:46:746] [AuthentificationManager] login with certificate
[20:16:46:869] [AuthentificationManager] Login info (RSA Encrypted, 256 bytes) : 1949PPT3D58KD+/xDbT61pf9Q0Nro27/ZwMMsynlfGVCtPZcnpXMcaGyQrAx6X+P6HSZKWysEbfoukR2CijYrBWhsvivmQ7JDoOCT33zGQas46dIB3eWHQa1i+WLUNkXXKg+Xj79FEzAviS5HQxHYmBkJr/BXVf4W9KPrxq0newLNokM74drN5Fmd6k3vCh23hE3h1VOyom/kO09klUTfP82f+9ArsqyCn6s5lXcZO4dW8qzTgNBI5m/SylwMbLGEkO0uREI+gYAJscK+6FhRrB0Sto4ZxVp8dapPhqVqmXCkP5HmpwBWko7EpmmiVjPk6VtTHnLnZ8l8yOuJxNnng==
[20:16:55:391] [Berilia] popup2 correctly unloaded in 7ms
[20:17:00:358] [ServerConnection] Connection closed.
[20:17:00:398] [DisconnectionHandlerFrame] The connection was closed. Checking reasons.
J'ai ouvert les sources de dofus 2.29? et j'ai regardé dans AuthentificationManager.as ce que je pouvais trouver la.
Dans les logs au-dessus on voit deux phrases sympathiques "login with certificate" et "login info (RSA Encrypted etc..." ces deux phrases ont été affichées par la fonction cipherRSA() (dans le meme fichier).
Sauf que cette fonction n'est appelée que pour construire un paquet de reponse à HelloConnectMessage. (IdentificationMessage)

Ma question est donc savez vous si la le client a accepté ma clef publique? Avez vous deja rencontre ce probleme (le pop-up)? :
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#2
Il y a une erreur avec la clé publique, si le client n'a pas réussi à l'identifier c'est que tu t'es trompé quelque part.
Peut-être ta manière de l'envoyer ?
 
Inscrit
2 Juillet 2015
Messages
41
Reactions
0
#3
Ok Merci pour ta réponse, je vais essayer de récupérer tout le paquet HelloConnectMessage officiel dans un fichier bin et de l'envoyer tel quel, ensuite si ça marche je l'analyserai^^
 
Inscrit
2 Juillet 2015
Messages
41
Reactions
0
#4
En récupérant les données que le serveur officiel envoie, et en les envoyant par mon ému, je reçois bien le paquet IdentificationMessage. Je vais donc comparer mon fichier de donnée avec le paquet que j'envoyais avant^^
 
Inscrit
2 Juillet 2015
Messages
41
Reactions
0
#5
Bonjour!!
Alors je continue mon monologue, mais ça a marché, il y avait un foutu caractere en trop rajouté par la classe std::string dans le fichier key.bin.
Je passe au traitement du paquet IdentificationMessage. Je sens que les ennuis vont commencer!
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#6
Bon c'est déjà un bon début, pour que le client ne reconnaisse pas ta clé c'est qu'il y avait forcément quelque chose en trop :ugeek:
 
Inscrit
2 Juillet 2015
Messages
41
Reactions
0
#7
Oui clairement mais je tournais autour du probleme ;) quand j'aurai fini la connexion je ferais un tutoriel^^
 

BlueDream

Administrateur
Membre du personnel
Inscrit
8 Decembre 2012
Messages
2 010
Reactions
149
#8
D'accord mais pour écrire des tutoriels il faut que tu postules afin de devenir Rédacteur.

viewforum.php?f=43
 
Haut Bas