FR EN DE ES IT PT
Naviguer dans les forums 
Trackers Ankama

[Anti-Bot] Une solution technique viable qui n'impacte pas les joueurs

Par CM-Account-Un - ABONNÉ - 13 Novembre 2019 - 13:42:06

Bonjour,
Je n'utilise pas de programme de bots, je n'en ai jamais programmé et ce n'est pas quelque chose qui m'intéresse. En revanche, j'ai une solution intéressante qui pourrait servir à la lutte contre la triche.

On sait tous qu'il est impossible de bannir les bots à la main. La solution n'est pas humaine, elle est technique. Et étonnement, elle n'impacte pas les joueurs honnêtes et est simplement réalisable.
Cette solution n'ayant jamais été proposée, je me permet de la partager.
 

Fonctionnement du MITM
 
Le bot MITM (Man In The Middle / Homme au Milieu) est le type le plus répandu. Sa conception est accessible à n'importe quel développeur amateur, des multitudes de sources pullulent sur le web et les joueurs ont confiance en ce type (ce qui assure un succès commercial).

Son fonctionnement est simple, le bot intercepte la communication entre le client et le serveur de jeu, modifie les paquets qui l'intéresse et les renvoie.
 
Solution
 
Pour parvenir à se placer dans le trafic, le programme doit d'abord rediriger le traffic en local. Et la redirection comprend l'injection de DLL. Cette injection est une simple allocation de mémoire tampon destinée à l'écriture des bytes qui constituent la-dite DLL.
Pour mettre fin au fléau des bots MITM, il suffit d'ajouter une sécurité au client qui, avant le switch du serveur de connexion au serveur de jeu, vérifie la mémoire tempon du processus.
 
Sources:
excl/!\ Liens Externes /!\ excl
 
 
 
Je tiens à être le plus clair possible, je n'utilise pas de bots. Ma contribution est justement destinée à stopper leur propagation une bonne fois pour toutes en proposant une solution qui n'affecte pas les joueurs.
 
J'attend vos retours. happy
12 -1
Réactions 12
Score : 23

C'est ce genre d'initiative venant des joueurs qui doit être étudiée en priorité. Je n'y comprends pas grand chose mais j'espère que les devs vont au moins y jeter un coup d'oeil et te répondre smile

1 0
Score : 187

Merci, j'en doute mais c'est ce que j'espère également. smile

0 0
Score : 40

C po une solution

Psk si chui a la place des mecs, j'vais voir du côté de la commande route de windows, c plus sale mais ça fait pareil

0 0
Score : 187

Exactement, tout autre solution ferait pareil, elle injecterait la même dll dans le même processus.
Dofus possède deux type de serveur:

  • Serveur d'authentification, sur lequel on se connecte
  • Serveur de jeu, sur lequel on joue.

A l'heure où j'écris ces lignes, il n'y a qu'une vérification mise en place avant le switch, c'est l'IdentificationToken du RawDataMessage. Il est facile de le générer dynamiquement en analysant les sources du client.

Si Ankama rajoutait la vérification de la mémoire tampon, plus de MITM. Vraiment. Ce serait impossible.
0 0
Score : 19263

Le soucis c'est que ça ne règle que le problème des MITM. A supposer qu'une telle fonctionnalité soit mise en place, ça ne fera que "déplacer" le problème vers le deuxième grand type de bot (je donne pas le nom pour pas en faire de la pub, mais les gens qui s'y connaissent sauront).

Du coup tous les bots "industriels" (à savoir ceux qui sont vendus et utilisés en masse, pas le bot individuel créé dans un coin) passeront sur cette techno.

1 0
Score : 187

Le bot socket est un simple imitateur. Il se fait passer pour un client.
En fait, les développeurs analysent les sources du client et reproduisent le protocole. De fait, ils peuvent communiquer avec les serveurs sans avoir besoin d'ouvrir une instance de jeu.

Pour mettre fin à ces bots, il faut protéger les sources du client. En Action Script 3 c'est compliqué mais loin d'être impossible. La suite "SecureSWF" de KindiSoft permet une obfuscation qui n'est pas décompilable par les décompileurs grand public utilisés par les développeurs de bots.

Mais ce n'est pas le sujet de mon topic. J'en ouvrirai un lorsque les bots du marché seront des bots sockets.
En ce moment, il existe que 3 bots Dofus PC sur le marché public:
1 MITM
1 MITM + Socket qui contourne pas l'Anti-Bot.
1 MITM + Socket semi-privé qui n'a aucune réelle fonctionnalité et est destiné aux développeurs.

0 0
Score : 187

 

Von-Neumann|14/11/2019 - 20:22:16
Nan mais tu peux aussi mettre en place un proxy sans injection nan ?


En prenant en considération le fait que tu ne puisses pas modifier les sources du client, comment tu ferais pour mettre en place un système qui manipulerait le traffic envoyé sans utiliser un SocketHook ?

T'as beau pouvoir voir le traffic TCP/IP de ta carte réseau, ces sockets sont déjà envoyés/reçus. Tu peux pas les manipuler avant l'envoi.

EDIT:
J'ai compris où tu voulais en venir et dans ce cas on parle plus du type MITM.
0 0
Score : 605

 

CM-Account-Un|14/11/2019 - 20:16:02

Pour mettre fin à ces bots, il faut protéger les sources du client. En Action Script 3 c'est compliqué mais loin d'être impossible. La suite "SecureSWF" de KindiSoft permet une obfuscation qui n'est pas décompilable par les décompileurs grand public utilisés par les développeurs de bots.

Pour ceux qui veulent se tirer une balle car ils ne comprennent pas tous les propos techniques de l'OP, CM-Account vous propose une corde.

En tout cas +1 à l'OP pour l'initiative, il faut trouver une bonne solution "automatisée" aux bots vampires.
1 0
Score : 187

J'essaye d'être le moins technique possible mais au contraire, si quelqu'un a du mal à comprendre, qu'il se manifeste afin que je lui ré-explique plus simplement.

Concernant les bots sockets, j'ai des idées en tête mais elles ne devraient pas être partagées sur ce post. 
De plus, elles ne sont pas nécessaires à l'heure actuelle.

Merci pour la reconnaissance, c'est en ouvrant la discussion qu'on réalisera notre objectif, ensemble.

2 0
Réagir à ce sujet