1 points par GN⁺ 2025-01-21 | 1 commentaires | Partager sur WhatsApp

Rétro-ingénierie de l’anti-triche de Call of Duty

  • Introduction
    • Partage des résultats de l’étude de l’anti-triche en mode utilisateur de Black Ops Cold War.
    • Il s’agit d’un jeu de Treyarch, désigné par TAC (Treyarch Anti-Cheat).
    • La principale différence avec les jeux récents est la présence ou l’absence d’un pilote en mode noyau.

Arxan

  • Rôle d’Arxan
    • Outil d’obfuscation et de protection utilisé dans les jeux Call of Duty.
    • Il chiffre l’exécutable et met fin au processus s’il détecte un débogueur ou une incohérence de checksum.

Chiffrement de l’exécutable à l’exécution

  • Protection de l’exécutable
    • L’exécutable du jeu est packé et chiffré, puis Arxan le dépaquette et le déchiffre.

Checksum de l’exécutable

  • Surveillance du checksum
    • Arxan surveille en continu les patchs appliqués à l’exécutable.

Obfuscation par jmp

  • Obfuscation des fonctions
    • Les fonctions et les instructions sont fragmentées avec des jmp, ce qui complique l’analyse.

Obfuscation du point d’entrée

  • Protection du point d’entrée
    • Il est difficile de suivre le point d’entrée d’un jeu protégé par Arxan.

Chiffrement des pointeurs

  • Protection des pointeurs
    • Les pointeurs importants sont chiffrés et déchiffrés avant chaque utilisation.

Méthodes de détection de la surveillance par TAC

  • Détection des hooks d’API
    • TAC s’appuie sur les API Windows pour l’anti-triche et détecte certains motifs spécifiques.

Résolution des exports d’API à l’exécution

  • Recherche d’API
    • TAC résout les API à l’aide de hachages de modules et de noms d’API.

Registres de débogage

  • Détection des registres de débogage
    • TAC détecte les registres de débogage et met fin au processus.

Application de la signature des pilotes

  • Détection du mode test
    • Il détecte le mode test de Windows et marque le compte.

Méthodes de terminaison de processus de TAC

  • Fin du processus
    • TAC met fin au processus de deux façons et réinitialise les registres.

Détection de la journalisation des cheats

  • Détection de l’allocation de console
    • Il détecte les cheats en vérifiant si une fenêtre de console a été allouée.

Détection des éléments visuels

  • Détection de l’ESP et de l’interface
    • Il détecte les cheats qui dessinent à l’écran via DirectX 12.

1 commentaires

 
GN⁺ 2025-01-21
Avis sur Hacker News
  • Il faut une régulation juridique contre le fait de supprimer des fonctionnalités après la vente. En particulier, lorsque des fonctions sont retirées via un contrat ou une EULA, un remboursement devrait être obligatoire pour le propriétaire du jeu. L’invalidation d’un achat sur Steam ne devrait pas être légalement possible, et même en cas de restriction de connexion au compte, les objets et l’inventaire devraient rester échangeables. Si l’on veut faire appliquer un code de conduite dans les jeux multijoueurs, on ne peut pas faire payer l’accès au jeu, les sanctions doivent respecter le principe de proportionnalité, et il faut un système d’appel contradictoire à coût limité avec intervention humaine

  • A obtenu l’annulation d’un bannissement permanent injustifié après deux ans de bataille juridique contre Activision. Activision a perdu sans apporter de preuve de triche

  • Ne joue pas au jeu, mais son ou sa partenaire y joue. A vu des joueurs observer des personnes sous le sol, et même si le client est hacké ou triche, le serveur devrait quand même vérifier côté serveur que l’état du joueur est valide

  • Se demande comment fonctionne l’obfuscation par saut. Les sauts inconditionnels sont peut-être assez fréquents pour qu’on ne puisse pas filtrer dessus comme précondition. On pourrait penser qu’il est facile de trouver la fin d’une fonction, et se demande s’il existe un moyen d’analyser la pile pour savoir où une fonction retourne, puis de chercher les appels juste avant l’adresse de retour

  • Se demande où l’auteur a appris ces techniques. Aimerait comprendre la moitié de l’article, mais ne sait pas par où commencer

  • A déjà fait un peu de reverse engineering sur un MMO populaire basé sur Horde/Alliance, et a suivi presque exactement les mêmes étapes, y compris le hachage d’export FNV32. Cela semble utiliser des astuces très similaires. Se demande si c’était packé avec la même protection

  • Excellent travail de recherche. Ce n’est clairement pas la première expérience de l’auteur

  • Tant qu’on peut lire et écrire en mémoire, il est impossible d’empêcher la triche en ligne dans un FPS

  • Le signature scanning est la partie la plus addictive du reverse engineering. On construit une liste de signatures, puis on écrit des bindings dans un langage de script pour appeler des pointeurs de fonction. C’est la base sur laquelle fonctionnent beaucoup de plateformes de mods tierces

  • La triche dans les jeux multijoueurs est un énorme problème qui détruit la confiance dans les grands FPS. En tant que joueur de CS, a essayé brièvement les nouveaux jeux CoD, mais il n’y a aucun jeu qu’il puisse recommander à cause de la triche. Des jeux comme Escape From Tarkov permettent, à cause de la triche, de se faire voler le canon de son arme et de voir son jeu ou son PC se fermer de force. Le mode compétitif de Counter-Strike sert de vitrine publicitaire aux tricheurs directement dans le jeu. Valorant est meilleur que les autres jeux grâce à son anti-cheat intrusif, mais il n’est pas aussi propre que ses fans le prétendent. L’industrie du matchmaking privé de Counter-Strike s’est construite sur la promesse d’un anti-cheat et d’un niveau de jeu professionnel