Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cheat-engine-undetectable — Academic Research Edition - T1 : évasion en mode utilisateur (obfuscation + passerelle syscall), T2 : pont noyau BYOVD, T3 : matériel DMA (travaux futurs). | Kitploit
Outils/GitHubGitHub/gmh5225/cheat-engine-undetectable
ExploitationRétro-ingénierieAnalyse de MalwareApprentissage et ÉducationRed TeamingExploitation de Binaires
GitHubgmh5225/cheat-engine-undetectable

cheat-engine-undetectable

Academic Research Edition - T1 : évasion en mode utilisateur (obfuscation + passerelle syscall), T2 : pont noyau BYOVD, T3 : matériel DMA (travaux futurs).

Voir le dépôt
il y a 26 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Cheat Engine Indétectable

Édition Recherche Académique — Cheat Engine modifié avec contournement anti-triche multi-niveaux pour l'éducation en cybersécurité et la recherche en rétro-ingénierie de niveau universitaire.

Avertissement : Ce projet est exclusivement destiné à la recherche académique, aux travaux universitaires et à l'éducation en cybersécurité. Il doit être détruit à la fin du semestre académique.


Architecture

root@kitploit:~
┌─────────────────────────────────────────────────────────┐
│                    Cheat Engine 7.5                      │
│                   (Lazarus / FreePascal)                  │
├─────────────────────────────────────────────────────────┤
│  T1: Contournement en mode utilisateur                   │
│  ├─ Randomisation des noms fenêtre/processus/registre (-daltname)│
│  ├─ Suppression des métadonnées PE et renommage des sections │
│  ├─ Suppression de l'en-tête Rich et randomisation de l'horodatage │
│  ├─ Stubs d'appels système directs (contournement des hooks ntdll.dll) │
│  └─ Extraction dynamique des numéros d'appels système depuis le disque │
├─────────────────────────────────────────────────────────┤
│  T2: Pont noyau (BYOVD — WinNotify.sys)                  │
│  ├─ Détection anti-triche (10 moteurs)                   │
│  ├─ Pilote signé Microsoft (WinNotify.sys / signeddrv.sys)│
│  ├─ Lecture/écriture mémoire virtuelle noyau via IOCTL (sans mappage physique) │
│  ├─ Parcours de tables de pages basé sur CR3 pour tout processus │
│  ├─ Contournement KASLR via IOCTL de divulgation de l'adresse de base du noyau │
│  ├─ Contournement ObCallback (manipulation des structures du noyau) │
│  └─ Masquage de processus (déliaison de PsActiveProcessLinks) │
├─────────────────────────────────────────────────────────┤
│  T3: Matériel DMA [NON IMPLÉMENTÉ]                       │
│  └─ Périphérique PCIe FPGA pour contournement AC au niveau hyperviseur │
└─────────────────────────────────────────────────────────┘

Matrice de couverture

Anti-TricheTypeStratégieStatut
Warden (Blizzard)Mode utilisateurT1Fonctionnel
VAC (Valve)Mode utilisateurT1Fonctionnel
XIGNCODE3Pilote mode utilisateurT1Fonctionnel
EasyAntiCheatPilote noyauT2Nécessite WinNotify.sys
BattlEyePilote noyauT2Nécessite WinNotify.sys
nProtect GameGuardPilote noyauT2Nécessite WinNotify.sys
Ricochet (CoD)Pilote noyauT2Partiel
Vanguard (Riot)HyperviseurT3 (DMA)NON IMPLÉMENTÉ
Faceit / ESEANoyau + HyperviseurT3 (DMA)NON IMPLÉMENTÉ

Structure des fichiers

root@kitploit:~
.
├── README.md
├── Build.ps1                     # Pipeline de compilation automatisé (clone CE, applique les correctifs, compile)
├── .gitignore
├── src/
│   ├── cheatengine.lpi           # Projet : métadonnées renommées, définition -daltname, sortie renommée
│   ├── cheatengine.lpr           # Principal : Application.Title dynamique
│   ├── NewKernelHandler.pas      # Cœur : intégration T1+T2, échange de pointeurs de fonction
│   ├── SyscallGateway.pas        # T1 : Stubs d'appels système directs (Read/Write/Open/VQE)
│   ├── AntiCheatDetector.pas     # T2 : Détection AC — processus, pilotes, services
│   ├── PhysicalMemory.pas        # T2 : Chargeur de pilote + lecture/écriture mémoire physique via IOCTL
│   ├── KernelBridge.pas          # T2 : Orchestrateur de contournement noyau + désactivation ObCallback
│   ├── StealthHiding.pas         # T2 : Masquage de processus via déliaison de PsActiveProcessLinks
│   ├── PEPatcher.ps1             # Mutation PE post-compilation
│   └── Build-Stealth.ps1         # Script de compilation autonome hérité
└── cheat-engine/                  # Source CE en amont (cloné par Build.ps1)

Comment ça fonctionne

Niveau 1 : Contournement en mode utilisateur

Obscurcissement de surface — Utilise la compilation conditionnelle intégrée de CE {$ifdef altname} :

  • Titre de fenêtre : "Runtime Modifier" au lieu de "Cheat Engine 7.5"
  • Clés de registre : \Software\Runtime Modifier\ au lieu de \Software\Cheat Engine\
  • Toutes les chaînes visibles par l'utilisateur : « Modification », « Code Table », etc.
  • Métadonnées PE : descriptions génériques de société/fichier, informations de version supprimées
  • Nom de sortie : sysdiag64.exe au lieu de cheatengine-x86_64.exe

Passerelle d'appels système — Le pilote noyau DBK de CE est désactivé (son hash de certificat est sur liste noire par EAC/BE). À la place, toutes les fonctions d'accès mémoire (ReadProcessMemory, WriteProcessMemory, VirtualQueryEx, OpenProcess) sont redirigées via des stubs d'instruction syscall directs :

  • Lit ntdll.dll depuis le disque avant que les hooks anti-triche ne soient actifs
  • Analyse la table d'exportation PE pour extraire les numéros d'appels système bruts
  • Génère des stubs d'assemblage : mov r10, rcx; mov eax, [syscall_num]; syscall; ret
  • Contourne les hooks en mode utilisateur dans ntdll.dll installés par EAC/BE

Niveau 2 : Pont noyau (BYOVD — WinNotify.sys)

Pour les anti-triches au niveau noyau qui bloquent la création de handles via ObRegisterCallbacks :

  1. Détection : Analyse les pilotes EAC/BE (EasyAntiCheat.sys, BEDaisy.sys) et les services
  2. Chargement du pilote : Charge WinNotify.sys / signeddrv.sys (signé Microsoft Authenticode, 2026, 0 détections VT) via le Gestionnaire de contrôle des services Windows
  3. Contournement KASLR (IOCTL 0x22200C) : Lit l'adresse de base de ntoskrnl.exe directement depuis la liste des modules chargés du noyau
  4. Lecture/écriture mémoire virtuelle noyau (IOCTL 0x222040/0x222044) : Lit/écrit n'importe quelle adresse virtuelle noyau — aucune traduction d'adresse physique requise
  5. Parcours EPROCESS : Trouve le processus System (PID=4), parcourt ActiveProcessLinks pour localiser le processus du jeu cible
  6. Parcours de tables de pages CR3 (IOCTL 0x222050/0x222054) : Utilise le DirectoryTableBase du jeu pour lire/écrire sa mémoire virtuelle via ses propres tables de pages
  7. Zéro handle requis : Pas de OpenProcess, pas de NtReadVirtualMemory — complètement invisible pour ObCallbacks
  8. Masquage de processus : Délie l'EPROCESS de CE de PsActiveProcessLinks

Niveau 3 : Matériel DMA (NON IMPLÉMENTÉ)

Pour les anti-triches au niveau hyperviseur (Vanguard, Faceit), un périphérique DMA PCIe serait nécessaire pour lire la RAM physique depuis le bus, contournant à la fois les protections du noyau et de l'hyperviseur. Documenté comme extension de recherche future.

Prérequis

  1. IDE Lazarus 3.x avec FreePascal 3.2.2 : https://www.lazarus-ide.org/
  2. Git pour cloner le dépôt CE en amont
  3. Privilèges administrateur (requis pour le chargement du pilote et l'accès aux processus)
  4. WinNotify.sys / signeddrv.sys — Pilote noyau signé Microsoft fournissant :
    • Lecture mémoire virtuelle noyau arbitraire (IOCTL 0x222040)
    • Écriture mémoire virtuelle noyau arbitraire (IOCTL 0x222044)
    • Parcours de tables de pages CR3 par processus (IOCTL 0x222050/0x222054)
    • À placer dans C:\Windows\System32\drivers\ ou à côté de l'exécutable compilé

Instructions de compilation

root@kitploit:~
git clone https://github.com/NulledNah/cheat-engine-undetectable.git
cd cheat-engine-undetectable
.\Build.ps1 -Clean

# Si Lazarus n'est pas dans C:\lazarus :
.\Build.ps1 -Clean -LazarusPath "D:\lazarus"

Le script :

  1. Clone Cheat Engine en amont (s'il n'est pas présent)
  2. Copie les fichiers corrigés dans la source en amont
  3. Randomise les identifiants de compilation (version, numéro de build)
  4. Compile avec lazbuild en mode Release 64-Bit
  5. Exécute PEPatcher pour supprimer l'en-tête Rich, renommer les sections, randomiser l'horodatage
  6. Génère bin\sysdiag64.exe

Comportement à l'exécution

root@kitploit:~
Lancer sysdiag64.exe
  │
  ├─ DetectAntiCheat() → analyse les moteurs AC en cours d'exécution
  │
  ├─ [Aucun AC noyau détecté]
  │   └─ T1 actif : contournement syscall pour toutes les opérations
  │
  ├─ [EAC/BE détecté + WinNotify.sys disponible]
  │   ├─ Charger le pilote via SCM
  │   ├─ IOCTL 0x22200C → fuite de l'adresse de base du noyau (KASLR contourné)
  │   ├─ IOCTL 0x222040 → lire PsInitialSystemProcess → parcourir ActiveProcessLinks
  │   ├─ Trouver l'EPROCESS du jeu → extraire DirectoryTableBase (CR3)
  │   ├─ Masquer son propre processus de l'énumération
  │   └─ Toutes les opérations mémoire via parcours de tables de pages CR3 (zéro handle, zéro OpenProcess)
  │
  └─ [Vanguard/Faceit détecté]
      └─ Avertissement : AC hyperviseur — nécessite T3 (matériel DMA, non implémenté)

Contexte académique

Ce projet démontre les concepts de cybersécurité suivants :

  • Exploitation CVE : CVE-2019-16098 — vulnérabilité de pilote signé permettant un mappage mémoire physique arbitraire depuis le mode utilisateur non privilégié
  • Manipulation d'objets noyau : Modification directe de EPROCESS, ObCallbacks et des structures de tables de pages
  • Format de fichier PE : Manipulation programmatique de l'en-tête Rich, des en-têtes de sections, des répertoires de débogage
  • Architecture anti-triche : Compréhension de la pile de détection : hooks mode utilisateur → callbacks noyau → protection hyperviseur
  • Internes Windows : Pagination x64 (PML4→PDP→PD→PT), mécanisme syscall, Gestionnaire d'objets, Gestionnaire de contrôle des services
  • Techniques d'évasion : Obscurcissement de surface, passerelle syscall, masquage de handles, masquage de processus, BYOVD

Limitations

  • Vanguard opère au niveau hyperviseur (pilote au démarrage) et ne peut pas être contourné sans T3 (matériel DMA)
  • Faceit/ESEA utilisent une protection noyau + hyperviseur en couches — nécessite T3
  • WinNotify.sys pourrait être ajouté à la liste de blocage des pilotes de Microsoft dans de futures mises à jour Windows
  • Windows 11 avec HVCI/VBS actif peut bloquer le pilote malgré la signature Microsoft valide
  • Les décalages EPROCESS varient selon la version de Windows ; la liste incluse couvre 10 22H2 et 11 23H2

Références

  • WinNotify.sys / signeddrv.sys : Pilote noyau vulnérable signé Microsoft (2026, 0 détections VT)
  • Cheat Engine : https://github.com/cheat-engine/cheat-engine
  • Noyau Windows NT : ObRegisterCallbacks, PsActiveProcessLinks, EPROCESS, CR3/DirectoryTableBase
  • IDE Lazarus : https://www.lazarus-ide.org/
  • LOLDrivers : https://www.loldrivers.io/

Usage académique uniquement — Ce projet fait partie d'un cursus de thèse/recherche universitaire. Il sera détruit à la fin du semestre académique conformément à la politique de l'université.

Télécharger l’outil