Aller au contenu

Une table de triche est-elle sûre ? Comment vérifier un fichier .CT avant de l'utiliser

Cheat-Engine.net Par Cheat-Engine.net 8 min de lecture 37 vues

Un fichier .CT est du XML brut, mais il peut contenir des scripts Lua et Auto Assembler ainsi que des fichiers intégrés. Découvrez ce qu'il faut repérer, quelles fonctions demandent de la prudence et comment examiner une table au préalable.

Une table de triche est un petit fichier texte, il est donc facile de penser qu'elle ne peut causer aucun dégât. C'est surtout vrai tant qu'elle reste sur votre disque. Mais une fois chargée dans Cheat Engine, une table peut exécuter du code, et ce code s'exécute avec les mêmes autorisations que Cheat Engine. La plupart des tables partagées sont exactement ce qu'elles prétendent être, mais personne ne peut le garantir sans lire le fichier. Ce guide vous montre ce qu'une table peut contenir, quelles parties méritent un examen plus attentif et comment en vérifier une avant de l'utiliser.

Ce qu'est un fichier .CT

Un fichier .CT est du XML : du texte brut structuré que vous pouvez ouvrir dans n'importe quel éditeur de texte. Une table minimale ressemble à peu près à ceci :

<CheatTable CheatEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>0</ID>
      <Description>"Gold"</Description>
      <VariableType>4 Bytes</VariableType>
      <Address>"game.exe"+01A2B3C0</Address>
      <Offsets>
        <Offset>18</Offset>
        <Offset>10</Offset>
      </Offsets>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Ouvrir une table dans un éditeur de texte, ou dans notre visionneuse CT en ligne qui fonctionne entièrement dans votre navigateur, n'exécute rien. Examiner une table de cette façon est toujours sans danger.

Ce qu'une table peut contenir

  • Entrées de valeur et de pointeur. Une adresse, un type et une description. Elles ne font que lire et écrire dans la mémoire du jeu. Le principal risque concerne le jeu : une mauvaise valeur peut le faire planter ou se retrouver dans votre sauvegarde.
  • Scripts Auto Assembler. Des entrées de script qui modifient le code du jeu lorsqu'elles sont activées. Normalement, elles ne touchent que le processus du jeu, mais l'Auto Assembler peut aussi charger des DLL dans le jeu et contenir des blocs Lua intégrés, écrits sous la forme {$lua} ... {$asm}, qui s'exécutent comme du Lua lorsque le script est activé.
  • Un script Lua de table. Un script Lua rattaché à la table dans son ensemble, stocké dans une section LuaScript du fichier. Il peut s'exécuter au chargement de la table, avant que vous ayez coché quoi que ce soit. Le Lua dans Cheat Engine est un langage de script complet avec accès aux fichiers, aux autres programmes et au réseau.
  • Fichiers intégrés. Une table peut contenir des fichiers, stockés sous forme encodée. Les auteurs s'en servent pour des images, des sons ou des données auxiliaires, mais un script peut aussi écrire un fichier intégré sur le disque et l'exécuter.
  • Formulaires et structures. Des fenêtres personnalisées (pour les interfaces de type trainer) et des définitions de structures de données. Les formulaires sont généralement pilotés par du Lua, ils s'accompagnent donc de code Lua à examiner.

Comment Cheat Engine vous demande avant d'exécuter le script Lua d'une table

Lorsque vous chargez une table qui contient un script Lua de table, Cheat Engine affiche une invite vous demandant si vous voulez l'exécuter. Cette invite existe précisément pour que vous puissiez décider après avoir lu le script, et non avant. Bonnes habitudes :

  • La première fois que vous chargez une table, refusez. Les entrées se chargent quand même ; seul le script de la table est ignoré.
  • Lisez le script. Vous pouvez le consulter depuis Cheat Engine via le menu Table, ou plus confortablement dans la visionneuse CT ou un éditeur de texte.
  • Si le script semble correct, rechargez la table et acceptez.
  • Laissez activé le paramètre de Cheat Engine qui demande confirmation avant d'exécuter les scripts de table. Le régler sur « toujours exécuter » vous retire la possibilité de vérifier.

Notez que cette invite concerne le script de la table. Les blocs Lua dans les scripts Auto Assembler s'exécutent quand vous activez cette entrée, ce qui est une autre raison d'examiner les scripts avant de les cocher.

Ce qui demande de la prudence

Rien de ce qui suit n'est automatiquement malveillant. Plusieurs éléments ont des usages légitimes. Mais chacun donne à une table des capacités qui vont au-delà de la modification des valeurs du jeu : quand vous en voyez un, assurez-vous de comprendre pourquoi il est là.

Fonction ou caractéristiqueOùCe qu'elle peut faire
shellExecuteLuaOuvrir un fichier ou lancer un programme sur votre PC
os.execute, io.popenLuaExécuter des commandes système
io.open avec un mode d'écriture comme "w" ou "wb"LuaCréer ou écraser des fichiers
getInternet et ses fonctions de téléchargementLuaRécupérer des données ou des fichiers depuis Internet
loadstring, loadLuaExécuter du code construit à partir d'une chaîne, qui peut être caché ou téléchargé
package.loadlibLuaCharger une DLL native dans Cheat Engine
injectDLL, loadlibraryLua / Auto AssemblerCharger une DLL dans le processus du jeu
decodeFunction, longs blocs encodésLuaExécuter du code compilé ou obscurci que vous ne pouvez pas lire
Fichiers intégrés plus code qui les enregistreFichiers de la table / LuaDéposer un fichier sur le disque, éventuellement pour l'exécuter
Blocs {$lua}Auto AssemblerExécuter du Lua lorsqu'une entrée de script est activée

L'obscurcissement est le signal d'alerte le plus clair

De tout ce qui précède, le code que vous ne pouvez pas lire mérite le plus de prudence. Une longue chaîne de lettres d'apparence aléatoire passée à load, loadstring ou decodeFunction, ou un script qui décode du texte puis l'exécute, cache ce que fait la table. Certains auteurs obscurcissent leur code pour protéger leur travail, mais on ne peut pas faire la différence de l'extérieur. Si vous ne pouvez pas l'examiner, ne l'exécutez pas.

Le contexte compte

Une table qui appelle getInternet pour vérifier si une version plus récente existe et affiche un message n'est pas comparable à une table qui télécharge un exécutable et le lance avec shellExecute. Lisez ce que le code environnant fait du résultat. Des valeurs écrites dans le jeu, des messages qui vous sont affichés et de petits fichiers de paramètres sont normaux. Des programmes lancés, des fichiers récupérés à des adresses inconnues et des DLL chargées depuis des emplacements inattendus ne sont pas des choses dont une table de triche pour un jeu solo a normalement besoin.

Une routine de vérification avant de rien activer

  1. Ouvrez la table dans la visionneuse CT ou dans un éditeur de texte. Comparez la liste des entrées à ce que promet la page de la table.
  2. Lisez le script Lua de la table, s'il y en a un. Cherchez les fonctions du tableau ci-dessus.
  3. Recherchez dans tous les scripts Auto Assembler {$lua}, injectDLL et loadlibrary.
  4. Vérifiez la présence de fichiers intégrés et trouvez ce qui les utilise.
  5. Chargez la table dans Cheat Engine et refusez l'invite Lua au moindre doute. Les simples entrées de valeur fonctionnent quand même sans elle.
  6. Sauvegardez vos parties, puis activez les entrées une par une, afin de savoir quelle entrée est en cause si quelque chose tourne mal.

Le guide sur l'utilisation d'une table de triche détaille le chargement, l'activation et le dépannage.

Ce qu'une vérification ne vous dit pas

Vérifier la présence de fonctions risquées dans une table sert à protéger votre PC. Cela ne garantit pas que la table fonctionne, et ne permet pas d'exclure les plantages du jeu ou une sauvegarde corrompue, c'est pourquoi les sauvegardes comptent. Cela ne change rien non plus à l'usage prévu des tables : uniquement les jeux solo et hors ligne. Utiliser l'édition de mémoire dans des jeux en ligne ou multijoueur affecte les autres joueurs et peut entraîner des bannissements de compte, et aucune vérification ne rend cela acceptable.

Téléchargez Cheat Engine lui-même depuis le site officiel

Tout cela suppose que Cheat Engine lui-même soit authentique. Téléchargez-le uniquement depuis le site officiel, cheatengine.org, lisez chaque écran de l'installateur et refusez les offres groupées facultatives. Cheat-Engine.net est un site communautaire indépendant dédié aux tables de triche et n'est pas affilié à Dark Byte, le développeur de Cheat Engine. Méfiez-vous des téléchargements « Cheat Engine » ailleurs, et de tout ce qui est présenté comme une table de triche alors que c'est en réalité un fichier .exe. Cheat Engine peut aussi produire des trainers autonomes et des fichiers de trainer protégés ; ils sont bien plus difficiles à inspecter qu'un simple fichier .CT, traitez-les donc avec une prudence accrue.

Résumé

  • Un fichier .CT est du XML lisible ; le lire est sans danger, l'exécuter dans Cheat Engine ne l'est pas automatiquement.
  • Les entrées de valeur présentent un faible risque pour votre PC ; les scripts, le Lua et les fichiers intégrés méritent un examen.
  • Refusez l'invite Lua tant que vous n'avez pas lu le script.
  • Soyez particulièrement prudent avec le code qui lance des programmes, écrit des fichiers, télécharge, charge des DLL ou est obscurci.
  • Sauvegardez vos parties et limitez-vous aux jeux solo et hors ligne.

Commentaires

0
En réponse à

Jamais affiché publiquement.

Les commentaires sont examinés par un modérateur avant d'apparaître.

Aucun commentaire pour le moment

Soyez le premier à donner votre avis.