Merci de la réponse.
Je décrypte les deux hashs puis les compare.
Apparemment la fonction addCryptedHash qui est affichée dans les sources n'est pas celle qui est réellement appelée.
(suite de https://cadernis.fr/index.php?threads/recoder-addcryptedhash-hash_function.1855/)
Bonjour a tous,
J'essaye avec @N4PST3R d'implementer la fameuse HASH_FUNCTION dans LaBot. Note: je ne cherche pas a reproduire d'autres effets du RDM (eg CheckIntegrityMessage) puisque je suis en MITM...
@da2h Ce n'est pas comme ça que l'on utilise LaBot.
Déjà, tu peux rediriger toute la connexion vers ton code en configurant Dofus avec un proxy http et en utilisant https://github.com/louisabraham/fritm. LaBot utilise aussi le faux proxy de fritm mais n'a pas besoin de configurer le proxy car...
On peut visualiser le packet désérialisé avec mon nouveau tool : https://louisabraham.github.io/LaBot/decoder.html?hex=6921140000000000000000000000000100000000000005
(attendre un peu que l'interpréteur Python charge)
En fait c'était assez simple, ArenaRankInfos est la seule classe à contenir des champs "optionnels":
public function deserializeAs_ArenaRankInfos(input:ICustomDataInput) : void
{
if(input.readByte() == 0)
{
this.ranking = null;
}
else
{
this.ranking = new...
Bonjour,
Je reçois ce message (en hexa) :
6921140000000000000000000000000100000000000005
J'en déduis qu'il s'agit d'un GameRolePlayArenaUpdatePlayerInfosAllQueuesMessage dont le contenu est :
0000000000000000000000000100000000000005
sauf que quand j'essaye de le lire, mes bytes sont vides au...
En fait j'ai peur qu'un bool en AS3 ne prenne 4 bytes (32 octets).
Ce lien concerne Flash mais AIR fonctionne peut-être pareil https://help.adobe.com/en_US/as3/mobile/WS4bebcd66a74275c3-576ba64d124318d7189-7fff.html
@Sorrow Vous utilisez vraiment du deep learning ? Ca me semble vraiment zarb parce que niveau interprétabilité c'est pas ouf, et c'est une tâche qui repose beaucoup plus sur du feature engineering que sur des modèles.
En fait tu as besoin d'un MITM qui lit le websocket.
Plutôt que de développer le tien, je te conseille d'utiliser mitmproxy (https://mitmproxy.org/).
C'est vraiment le meilleur tool pour ça, il est très utilisé dans la communauté et en plus c'est en Python <3
C'est normal d'avoir des credentials différents à chaque fois, vu qu'ils dependent de ce que le serveur envoie. C'est une mesure de sécurité pour éviter de pouvoir replay la trame.
@Natlink il faut que je trouve le temps de finir l'interface du sniffeur et ensuite du MITM, mais je vais opensourcer mon dernier protocol builder et mon reader / writer (le nouveau writer est pas encore fait).
Pour te donner un exemple concret de format de message :
{'boolVars': []...