Goulp Land - Auto détection AIMBOT et autres

Tout ce qui concerne la configuration et l'administration des serveurs.
Rendez-vous dans Outils de communication & communautaires pour la conception de sites Internet.
SykZ
Messages : 2684
Enregistré le : 30 janv. 2011, 13:38
Localisation : Montélimar - Lyon

Re: Goulp Land - Auto détection AIMBOT et autres

Message par SykZ » 29 oct. 2011, 01:15

Ouais ^^. Il faut faire de l’ingénierie inverse sur un cheat et comprendre parfaitement son fonctionnement pour pouvoir le détecter mais apparemment, ça n'a pas l'air facile non plus :P.

Avatar du membre
linkboss
Référent outil (Leelabot)
Messages : 1633
Enregistré le : 28 déc. 2008, 19:22
Localisation : Pas en Bretagne !

Re: Goulp Land - Auto détection AIMBOT et autres

Message par linkboss » 29 oct. 2011, 01:19

Pour vous répondre avec ma maigre expérience :

- Un logiciel totalement aimbot-proof est impossible à réaliser. C'est comme les protections pour les jeux : il y aura toujours quelqu'un d'assez têtu et intelligent pour les casser. Ici le "truc" est de faire ressembler le plus possible l'aimbot à l'action humaine. Bref.
- La base de l'aimbot, c'est de viser l'ennemi automatiquement (d'où le nom, aim-bot). Donc le truc à vérifier, c'est pas l'accélération (parce que là si le mec il se met à faire des gros mouvements, bah l'anticheat balance un faux-positif), mais l'arrêt de l'accélération. En effet, quand on regarde, la plupart des aimbots (n'oubliez pas le 1er point, un anticheat parfait est impossible) ont en effet une très forte accélération, mais, et c'est là qu'est la vraie différence avec un humain, s'arrête net sur la victime. Le but est donc de vérifier si, lors des grosses accélérations, le vecteur de visée à l'arrêt (bonjour les maths) passe par un joueur de l'équipe adverse (donc si il vise sur un adversaire), et surtout si la décélération est importante (signe qu'il s'est arrêté net). Et tout ça peut se calculer sans informations sur la souris/l'OS etc. Bien sûr cette technique aura toujours des faux-négatifs et des faux-positifs (un gros coup de bol quand même pour s'arrêter net sur un ennemi), mais permettera de mettre pas mal d'aimbot à la ramasse.
- La deuxième technique serait que lorsque l'on aim quelqu'un, que l'anticheat vérifie si le point visé par la personne est toujours le même (donc là il suffit de comparer la position du vecteur visée au niveau du joueur en fonction du temps, uniquement lorsque le joueur bouge. Si elle reste identique au cours du temps, c'est très probablement un aimbot).

Voilà mon avis sur les méthodes de détection de cheat.

EDIT pour SkyZ : Non, ça sert à rien la rétro-ingénierie sur un aimbot, on sait déjà comment il fonctionne, et le but pour le démasquer justement c'est de détecter son fonctionnement (et heureusement, un aimbot c'est assez voyant).
<newboy> si t aurais mon fils j vé te mettre un confiture
LeelaBot, un autre bot d'administration de vos serveurs UrT.
La HD sarox

SykZ
Messages : 2684
Enregistré le : 30 janv. 2011, 13:38
Localisation : Montélimar - Lyon

Re: Goulp Land - Auto détection AIMBOT et autres

Message par SykZ » 29 oct. 2011, 01:38

Okay :). L'idée des vecteurs est vraiment bien, elle est sûrement plus simple à réaliser que le reste en plus. Au niveau concept, c'est facile à comprendre, reste à savoir comment l'intégrer au jeu :P. On pourrait croire qu'il suffit d'une formule mathématique qui calcule la décélération et qu'à partir d'un certain seuil, les valeurs plus basses sont impossibles à réaliser par un humain, sauf avec une chance de cocu ! Mais ce doit être plus compliqué que ça.

Avatar du membre
linkboss
Référent outil (Leelabot)
Messages : 1633
Enregistré le : 28 déc. 2008, 19:22
Localisation : Pas en Bretagne !

Re: Goulp Land - Auto détection AIMBOT et autres

Message par linkboss » 29 oct. 2011, 02:24

Pour l'intégrer, j'ai rapidement regardé le code de quake 3 (bon c'est pas UrT mais ya pas de grandes modifs je pense pour l'endroit ou regarde le mec). Faudrait je pense caler la vérif dans game/g_active.c (en plein dans la QVM tiens donc), juste après l'appel à VectorCopy( ent->client->ps.origin, ent->r.currentOrigin ); (ligne 979 chez moi), comme ça on a le vecteur du client après qu'il ait visé (r.currentOrigin), et sa position (pos1 ou pos2, je sais pas). Bien entendu je n'ai jamais presque touché au code source de Quake 3, donc excusez moi si je dis des conneries. Mon truc c'est les bots de gestion en PHP, pas les maths en C ne l'oubliont pas aussi :D

Sinon, faut pas que calculer la décélération, mais la décélération sur un ennemi. si elle est trop forte, il parait évident qu'on est en face d'un aimbot. La différence avec ce que t'as dit SkyZ, c'est que n'importe qui peut faire une décélération brutale, sauf que directement sur un ennemi c'est beaucoup plus compliqué. Mais cette unique vérification n'est pas suffisante, il faut aussi (et surtout) vérifier le track de l'ennemi. Si la différence entre les points qu'ils visent (enfin entre l'écart des points qu'ils visent par rapport à la position de l'ennemi) est trop faible en fonction du temps (on imagine un nombre qui contient l'addition tous les écarts les positions visées par rapport à l'ennemi visé, et on fait un check toutes les secondes par exemple, et si cet écart est trop faible, on détecte l'aimbot (parce qu'il vise toujours presque au même endroit, ce qui est humainement très difficile). L'addition de ces deux méthodes (qui sont ce que l'on fait lorsqu'on regarde une démo pour aimbot hein, on regarde si il se déplace subitement sur quelqu'un et qu'il le track) donne une méthode de détection de l'aimbot plutôt fiable et relativement faible au niveau des faux-positifs.
<newboy> si t aurais mon fils j vé te mettre un confiture
LeelaBot, un autre bot d'administration de vos serveurs UrT.
La HD sarox

Avatar du membre
Muxy
Messages : 16
Enregistré le : 11 août 2010, 14:29
Localisation : Goulp, FR

Re: Goulp Land - Auto détection AIMBOT et autres

Message par Muxy » 29 oct. 2011, 09:16

linkboss a écrit :- Un logiciel totalement aimbot-proof est impossible à réaliser.[...] Ici le "truc" est de faire ressembler le plus possible l'aimbot à l'action humaine. Bref.
- La base de l'aimbot, c'est de viser l'ennemi automatiquement (d'où le nom, aim-bot). Donc le truc à vérifier, c'est pas l'accélération (parce que là si le mec il se met à faire des gros mouvements, bah l'anticheat balance un faux-positif), mais l'arrêt de l'accélération. En effet, quand on regarde, la plupart des aimbots (n'oubliez pas le 1er point, un anticheat parfait est impossible) ont en effet une très forte accélération, mais, et c'est là qu'est la vraie différence avec un humain, s'arrête net sur la victime. Le but est donc de vérifier si, lors des grosses accélérations, le vecteur de visée à l'arrêt (bonjour les maths) passe par un joueur de l'équipe adverse (donc si il vise sur un adversaire), et surtout si la décélération est importante (signe qu'il s'est arrêté net). [..] Bien sûr cette technique aura toujours des faux-négatifs et des faux-positifs (un gros coup de bol quand même pour s'arrêter net sur un ennemi), mais permettera de mettre pas mal d'aimbot à la ramasse.

En effet, je ne m'attends pas à réaliser un truc parfait. Mais je suis content de trouver du monde qui comprend là où je veux en venir ! Merci LinkBoss

linkboss a écrit :- La deuxième technique serait que lorsque l'on aim quelqu'un, que l'anticheat vérifie si le point visé par la personne est toujours le même (donc là il suffit de comparer la position du vecteur visée au niveau du joueur en fonction du temps, uniquement lorsque le joueur bouge. Si elle reste identique au cours du temps, c'est très probablement un aimbot).

Excellente idée à laquelle je n'avais pas encore pensé. Pour chaque joueur, on peut aussi mémoriser la moyenne et écart type des points de visée.

linkboss a écrit :Pour l'intégrer, j'ai rapidement regardé le code de quake 3 (bon c'est pas UrT mais ya pas de grandes modifs je pense pour l'endroit ou regarde le mec). Faudrait je pense caler la vérif dans game/g_active.c (en plein dans la QVM tiens donc), juste après l'appel à VectorCopy( ent->client->ps.origin, ent->r.currentOrigin ); (ligne 979 chez moi), comme ça on a le vecteur du client après qu'il ait visé (r.currentOrigin), et sa position (pos1 ou pos2, je sais pas).

Je vais aller voir ça au plus vite ! Merci !

linkboss a écrit :Sinon, faut pas que calculer la décélération, mais la décélération sur un ennemi. si elle est trop forte, il parait évident qu'on est en face d'un aimbot. La différence avec ce que t'as dit SkyZ, c'est que n'importe qui peut faire une décélération brutale, sauf que directement sur un ennemi c'est beaucoup plus compliqué. Mais cette unique vérification n'est pas suffisante, il faut aussi (et surtout) vérifier le track de l'ennemi. Si la différence entre les points qu'ils visent (enfin entre l'écart des points qu'ils visent par rapport à la position de l'ennemi) est trop faible en fonction du temps (on imagine un nombre qui contient l'addition tous les écarts les positions visées par rapport à l'ennemi visé, et on fait un check toutes les secondes par exemple, et si cet écart est trop faible, on détecte l'aimbot (parce qu'il vise toujours presque au même endroit, ce qui est humainement très difficile). L'addition de ces deux méthodes (qui sont ce que l'on fait lorsqu'on regarde une démo pour aimbot hein, on regarde si il se déplace subitement sur quelqu'un et qu'il le track) donne une méthode de détection de l'aimbot plutôt fiable et relativement faible au niveau des faux-positifs.

Oué, impecable.

SykZ a écrit :Ouais ^^. Il faut faire de l’ingénierie inverse sur un cheat et comprendre parfaitement son fonctionnement pour pouvoir le détecter mais apparemment, ça n'a pas l'air facile non plus :P.

En effet, ça peut être utile, histoire de reconnaître le bot. Chacun laissant une sorte de signature (méthode de visée).

Merci à vous pour ces réponses. Je me sens un peu moins seul. Même les idées bizarres de suivre la souris sont les bienvenues, mais n'oubliez pas : je travaille coté serveur bien sur KISS 8)
Serveur Urban Terror - Goulp Land - ut.goulp.net

SykZ
Messages : 2684
Enregistré le : 30 janv. 2011, 13:38
Localisation : Montélimar - Lyon

Re: Goulp Land - Auto détection AIMBOT et autres

Message par SykZ » 29 oct. 2011, 14:36

Je pense que la piste de linkboss peut être prise au sérieux. Je crois qu'un jour il va falloir ranger les bots dans le placard pour un petit moment hein :P.
Bon courage aussi à ceux qui bossent pour créer un anticheat fiable :).

Avatar du membre
linkboss
Référent outil (Leelabot)
Messages : 1633
Enregistré le : 28 déc. 2008, 19:22
Localisation : Pas en Bretagne !

Re: Goulp Land - Auto détection AIMBOT et autres

Message par linkboss » 30 oct. 2011, 17:33

SykZ a écrit :Je pense que la piste de linkboss peut être prise au sérieux. Je crois qu'un jour il va falloir ranger les bots dans le placard pour un petit moment hein :P.
Bon courage aussi à ceux qui bossent pour créer un anticheat fiable :).


Ouais enfin le plus tard sera le mieux hein ;)
<newboy> si t aurais mon fils j vé te mettre un confiture
LeelaBot, un autre bot d'administration de vos serveurs UrT.
La HD sarox

SykZ
Messages : 2684
Enregistré le : 30 janv. 2011, 13:38
Localisation : Montélimar - Lyon

Re: Goulp Land - Auto détection AIMBOT et autres

Message par SykZ » 30 oct. 2011, 18:13

Ouais :P. Mais tu peux refiler l'idée aux devs de FS s'ils jugent qu'elle peut aboutir et puis Kalish lira la suite du topic je pense :).

Avatar du membre
Ssxz
Messages : 3310
Enregistré le : 21 août 2008, 18:36
Localisation : Bretagne

Re: Goulp Land - Auto détection AIMBOT et autres

Message par Ssxz » 30 oct. 2011, 18:24

SykZ a écrit :Ouais :P. Mais tu peux refiler l'idée aux devs de FS s'ils jugent qu'elle peut aboutir et puis Kalish lira la suite du topic je pense :).



L'équipe de FS a travaillé sur un système bien plus précis, mais qui fait appel au master de Frozen Sand. Eh oui, ils ont l'avantage d'être maitre de l'architecture du jeu :)
- Follow me on Twitter!
- RB Maintenance & Technique

SykZ
Messages : 2684
Enregistré le : 30 janv. 2011, 13:38
Localisation : Montélimar - Lyon

Re: Goulp Land - Auto détection AIMBOT et autres

Message par SykZ » 30 oct. 2011, 18:54

ssx3max a écrit :
SykZ a écrit :Ouais :P. Mais tu peux refiler l'idée aux devs de FS s'ils jugent qu'elle peut aboutir et puis Kalish lira la suite du topic je pense :).



L'équipe de FS ont travaillé sur un système bien plus précis, mais qui fait appel au master de Frozen Sand. Eh oui, ils ont l'avantage d'être maitre de l'architecture du jeu :)

Ouais :). Bon bah on verra bien ce qu'il en ressort !

Avatar du membre
TiwaDa
Messages : 446
Enregistré le : 09 août 2010, 22:09
Localisation : Paris

Re: Goulp Land - Auto détection AIMBOT et autres

Message par TiwaDa » 02 nov. 2011, 15:20

Bonjour,
Moi en tant que low en informatique, programmation et tout le tralala je pensais a vérifier le pourcentage de hit (pour la aimbot auto shoot) grand vitesse de déplacement + arrêt net + nombre de hit.
exemple: 4 balle tiré 4 hit 100%
Pourquoi ne pas faire le pourcentage des meilleurs joueurs au monde tout une saison pour "limité" le pourcentage a ne pas dépasser pour déclencher l'anti-aimbot ?
Cordialement,
TiwaDa.

Avatar du membre
Ssxz
Messages : 3310
Enregistré le : 21 août 2008, 18:36
Localisation : Bretagne

Re: Goulp Land - Auto détection AIMBOT et autres

Message par Ssxz » 02 nov. 2011, 21:25

micka_gwada a écrit :Bonjour,
Moi en tant que low en informatique, programmation et tout le tralala je pensais a vérifier le pourcentage de hit (pour la aimbot auto shoot) grand vitesse de déplacement + arrêt net + nombre de hit.
exemple: 4 balle tiré 4 hit 100%
Pourquoi ne pas faire le pourcentage des meilleurs joueurs au monde tout une saison pour "limité" le pourcentage a ne pas dépasser pour déclencher l'anti-aimbot ?


Tu le détermines quand le pourcentage ? En fonction de quelle arme ? Sur quel mode ? Avoir 40% de aim avec un SR-8 en TDM, c'est possible ;)
Je pense que se baser sur des stats si hasardeuse n'est pas très fiable. En plus, les devs de cheats pourraient s'adapter pour ne pas dépasser cette échelle...
- Follow me on Twitter!
- RB Maintenance & Technique

Avatar du membre
BLP
Messages : 221
Enregistré le : 08 nov. 2009, 04:45

Re: Goulp Land - Auto détection AIMBOT et autres

Message par BLP » 03 nov. 2011, 01:12

En tentant de créer un analyseur de démo, j'étais tombé sur http://skuller-vidnoe.narod.ru/q3dspecs.htm assez bien documenté.
Ensuite, j'ignore les structures ont évoluées avec Urban Terror (j'imagine que oui).
Si jamais ça peut aider quelqu'un.
The only verdict is vengeance;

Avatar du membre
Muxy
Messages : 16
Enregistré le : 11 août 2010, 14:29
Localisation : Goulp, FR

Re: Goulp Land - Auto détection AIMBOT et autres

Message par Muxy » 03 nov. 2011, 10:21

Merci BLP pour cette information, je l'ajoute à mon wiki. Concernant l'évolution des structures, c'est possible, mais ce doit être assez minime.
Serveur Urban Terror - Goulp Land - ut.goulp.net

Avatar du membre
TiwaDa
Messages : 446
Enregistré le : 09 août 2010, 22:09
Localisation : Paris

Re: Goulp Land - Auto détection AIMBOT et autres

Message par TiwaDa » 04 nov. 2011, 01:40

ssx3max a écrit :
micka_gwada a écrit :Bonjour,
Moi en tant que low en informatique, programmation et tout le tralala je pensais a vérifier le pourcentage de hit (pour la aimbot auto shoot) grand vitesse de déplacement + arrêt net + nombre de hit.
exemple: 4 balle tiré 4 hit 100%
Pourquoi ne pas faire le pourcentage des meilleurs joueurs au monde tout une saison pour "limité" le pourcentage a ne pas dépasser pour déclencher l'anti-aimbot ?


Tu le détermines quand le pourcentage ? En fonction de quelle arme ? Sur quel mode ? Avoir 40% de aim avec un SR-8 en TDM, c'est possible ;)
Je pense que se baser sur des stats si hasardeuse n'est pas très fiable. En plus, les devs de cheats pourraient s'adapter pour ne pas dépasser cette échelle...



Je pensais a urban zone division TS 1 , 2 et nation cup.
Là oú il y a le plus haut niveau de jeux!!
Cordialement,
TiwaDa.

Répondre