bl0odlaw
Aux dernières nouvelles tout le code permettant de signer les paquets envoyés était contenu dans le fichier jsc. Ils pré-compilent leur code en bytecode V8 en utilisant un tool qui s’appelle bytenode (qui lui même utilise une fonction native de V8). Une solution envisageable semble être de développer un décompilateur en utilisant les ops codes de la version V8 incluse dans le NodeJs qu’ils utilisent.
Il semble qu’il existe des solutions en MITM permettant d’utiliser le mode débug d’électron afin d’utiliser les fonctions sans avoir à les connaître (ou du moins seulement leur signature).
En full socket il est évident qu’il faut pouvoir accéder à ce code.
On voit bien qu’il y a des bots IG sur Boune qui by-pass tout ça donc avec un peu de travail ça doit être faisable.
En supposant que personne n'a réussi à reverse la vm V8 pour la version node de retro:
- Ton MITM doit être écrit avec node.js/electron et que ça doit matcher la version de retro obviously
- Load le main.jsc et appeler les fonctions qui permettent de signer (packetCallbackSignature j'ai oublié le nom). Les symboles sont toujours présents donc tu peux retrouver les fonctions exposées à la scope globale par ce module V8
L'alternative la plus simple et la plus safe c'est d'injecter ton propre SWF sur le client et de hook/patch à ta guise tout ce dont tu as besoin. Si tu cherches bien, tu peux même accéder au debugger electron et faire ce que tu veux du jeu, marshal/faire des bindings AS<->JS et ecrire ton bot en JS sans t'emmerder en actionscript.