Fonctionnalités de Cheat Engine

Vue d'ensemble complète de ce que Cheat Engine peut faire. Du scan mémoire de base aux fonctionnalités noyau et de script avancées.

Scanner mémoire

Le cœur de Cheat Engine est le scanner mémoire. Il permet de rechercher dans la mémoire d'un processus les valeurs correspondant à ce que vous saisissez. Vous pouvez scanner une valeur exacte, une valeur initiale inconnue, une valeur diminuée/augmentée et bien d'autres types. Après le premier scan vous modifiez la valeur dans le jeu (ex. prenez des dégâts, dépensez de l'or), puis lancez un « Scan suivant » pour affiner la liste. Répéter cela donne en général une ou quelques adresses contenant la valeur recherchée.

Vous pouvez scanner différents types de valeurs : entiers 1 à 8 octets, flottants, doubles, chaînes, etc. Le scanner prend en charge les scans groupés et des scripts Lua personnalisés pour des types inhabituels. Les résultats peuvent être ajoutés à la liste d'adresses, où vous pouvez figer une valeur, la modifier manuellement ou lui assigner une raccourci.

Les options avancées incluent le scan de régions mémoire spécifiques, l'utilisation du débogueur pour s'arrêter à l'accès ou à l'écriture d'une adresse, et les scans de pointeurs pour que l'adresse reste valide après redémarrage du jeu.

Débogueur

Cheat Engine inclut un débogueur complet. Vous pouvez poser des points d'arrêt sur des instructions ou sur l'accès mémoire (lecture/écriture). Quand un point d'arrêt est atteint, l'exécution s'arrête et vous pouvez inspecter les registres, la pile et la mémoire. Le débogueur gère les processus 32 et 64 bits et fonctionne avec le débogage noyau quand DBVM est chargé.

Vous pouvez exécuter pas à pas (step into, step over), exécuter jusqu'au retour, et utiliser la trace et « trouver ce qui écrit/lit cette adresse » pour voir quel code touche une valeur. C'est essentiel pour trouver l'instruction exacte qui met à jour la santé, les munitions ou l'argent afin de la remplacer ou d'injecter votre code.

La fenêtre du débogueur affiche le désassemblage ; vous pouvez éditer les instructions (Assembleur), ajouter du code (scripts Auto Assembler) ou utiliser le journal de trace pour suivre le flux d'exécution.

Désassembleur et assembleur

Le désassembleur affiche le code machine du processus en assembleur lisible (x86/x64). Vous pouvez naviguer par adresse, suivre les sauts et appels, et voir quelles instructions référencent une adresse. Quand vous trouvez le code qui écrit votre valeur, vous pouvez le remplacer par vos propres instructions avec l'assembleur.

L'Auto Assembler est une couche de script par-dessus : vous écrivez de l'assembleur (avec des labels et directives comme alloc, injection de code, recherche AOB) et CE alloue la mémoire, trouve les octets et patche le jeu. Des modèles pour des tâches courantes (santé infinie, pas de recul, etc.) sont disponibles. C'est ainsi que la plupart des cheats et trainers avancés sont construits.

Speedhack

Le Speedhack modifie la vitesse à laquelle le processus cible s'exécute. Vous pouvez ralentir le temps (utile pour des sections difficiles ou l'analyse) ou l'accélérer (pour grind plus vite en solo). La vitesse est contrôlée par un curseur ou un multiplicateur. Il fonctionne en accrochant les API liées au temps (ex. GetTickCount, QueryPerformanceCounter) pour que le jeu pense que moins ou plus de temps s'est écoulé.

Le Speedhack n'affecte que le processus attaché. Il est destiné au jeu solo. En jeu en ligne il peut provoquer désynchronisation ou détection et n'est pas supporté.

Créateur de trainers

Une fois que vous avez trouvé des adresses et éventuellement écrit des scripts Auto Assembler, vous pouvez les enregistrer dans une table de cheat (.CT). Le créateur de trainers permet de transformer une table en exécutable trainer autonome. Le trainer peut avoir une fenêtre simple avec cases à cocher et raccourcis pour que les utilisateurs n'aient pas à ouvrir Cheat Engine ou charger la table. Vous pouvez personnaliser l'apparence et le comportement du trainer.

Les trainers sont souvent partagés sur le forum. Téléchargez toujours depuis des sources fiables et inspectez les .CT (ce sont des XML) pour du Lua ou de l'assembleur malveillant avant de les utiliser.

Scripts Lua

Cheat Engine intègre le support de Lua. Vous pouvez écrire des scripts pour automatiser le scan, modifier l'interface, créer des formulaires et boîtes de dialogue, et interagir avec la liste d'adresses et la mémoire. Beaucoup d'extensions du forum sont en Lua. L'API Lua expose les fonctions processus et mémoire pour lire/écrire la mémoire, allouer, énumérer les modules et appeler le débogueur depuis le script.

Lua sert aux scripts d'auto-attachement, aux types de scan personnalisés et aux trainers complexes. Apprendre les bases de Lua et la documentation Lua de CE sur le wiki permet de construire des outils puissants au-dessus de CE.

DBVM (Debugger Virtual Machine)

DBVM est un hyperviseur qui s'exécute sous le système d'exploitation. Il étend le jeu d'instructions du processeur pour que les programmes en mode utilisateur (comme CE) puissent effectuer des opérations qui nécessitent normalement un accès noyau. Cela permet un débogage et un accès mémoire plus puissants, surtout sur Windows 64 bits où les débogueurs classiques sont plus limités.

Avec DBVM chargé, CE peut utiliser des fonctionnalités comme ultimap (trace d'exécution), de meilleurs points d'arrêt et l'accès mémoire au niveau noyau. Charger DBVM nécessite un processeur compatible et un démarrage avec le chargeur DBVM (ex. UEFI). Clic droit sur le logo CE → À propos pour voir si votre système supporte DBVM et s'il est chargé.

DBVM utilise une clé 160 bits pour la sécurité. C'est optionnel ; la plupart des utilisateurs utilisent CE sans DBVM.

Support Mono et .NET

Beaucoup de jeux et applications sont construits avec Unity (Mono) ou .NET. Cheat Engine peut énumérer les types, classes et champs Mono/.NET. Le dissecteur Mono et le collecteur de données .NET permettent de parcourir le modèle d'objets en mémoire et de trouver des champs (ex. Player.health, GameManager.gold) par nom au lieu d'adresses brutes. Vous pouvez ensuite les ajouter à la liste d'adresses ou les utiliser dans des scripts.

Cela facilite grandement le travail avec les jeux managés. Lua et l'API Mono peuvent être utilisés ensemble pour automatiser la recherche et la surveillance de classes et d'instances.

Scan de pointeurs

Les adresses dans les jeux changent souvent au redémarrage du processus à cause de l'ASLR et de l'allocation dynamique. Un pointeur est une adresse qui contient une autre adresse qui pointe finalement vers votre valeur. Le scan de pointeurs trouve des chaînes de pointeurs (ex. module de base + offset → pointeur → offset → votre valeur) qui restent valides entre les redémarrages. Vous pouvez alors enregistrer un pointeur dans votre table pour que le cheat fonctionne à chaque ouverture du jeu.

Les scans de pointeurs peuvent être volumineux et prendre du temps. Filtrer par « doit être lisible » et limiter la profondeur et le niveau aide à réduire les faux positifs.

Autres outils

Options de scan et performances

Le scanner mémoire propose de nombreuses options pour régler vitesse et précision. Vous pouvez limiter le scan à des régions spécifiques (ex. seul le module principal ou les régions modifiables), utiliser le « Scan rapide », et régler le nombre de threads. Pour « Valeur initiale inconnue » sur de gros processus, limiter la plage de scan peut réduire le temps. La liste d'adresses gère des milliers d'entrées ; pour les résultats de scan de pointeurs, utilisez des filtres (ex. « Doit être valide »). Voir la page Tutoriels pour des conseils pratiques.

Plugins et extensions

Cheat Engine supporte les plugins (DLL) qui étendent les fonctionnalités. Le forum a une section plugins où les utilisateurs partagent des outils pour des jeux ou des fonctionnalités générales. Les scripts Lua peuvent aussi servir d'extensions : auto-attachement, types de scan personnalisés, ajouts d'interface. Avec des plugins ou scripts tiers, n'utilisez que des sources de confiance ; ils s'exécutent avec les mêmes privilèges que CE et peuvent accéder à la mémoire des processus. Le wiki officiel documente l'API plugin et l'API Lua pour les développeurs.

Pour apprendre pas à pas, commencez par les tutoriels et le tutoriel CE intégré (menu Démarrer après installation). Le wiki Cheat Engine propose des pages détaillées sur chaque fonctionnalité.

Télécharger