Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cheat-engine-undetectable — Academic Research Edition - T1: Evasión en modo usuario (ofuscación + puerta de enlace de syscall), T2: Puente de kernel BYOVD, T3: Hardware DMA (trabajo futuro). | Kitploit
Herramientas/GitHubGitHub/gmh5225/cheat-engine-undetectable
ExplotaciónIngeniería InversaAnálisis de MalwareAprendizaje y EducaciónRed TeamingExplotación de Binarios
GitHubgmh5225/cheat-engine-undetectable

cheat-engine-undetectable

Academic Research Edition - T1: Evasión en modo usuario (ofuscación + puerta de enlace de syscall), T2: Puente de kernel BYOVD, T3: Hardware DMA (trabajo futuro).

Ver Repositorio
hace 26 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Cheat Engine Indetectable

Edición de Investigación Académica — Cheat Engine modificado con evasión de anti-cheat en múltiples niveles para educación en ciberseguridad e investigación de ingeniería inversa a nivel universitario.

Aviso legal: Este proyecto es exclusivamente para investigación académica, trabajos de curso universitarios y educación en ciberseguridad. Debe ser destruido al finalizar el período académico.


Arquitectura

root@kitploit:~
┌─────────────────────────────────────────────────────────┐
│                    Cheat Engine 7.5                      │
│                   (Lazarus / FreePascal)                  │
├─────────────────────────────────────────────────────────┤
│  T1: Evasión en Modo Usuario                             │
│  ├─ Aleatorización de nombres de ventana/proceso/registro (-daltname)│
│  ├─ Eliminación de metadatos PE y renombrado de secciones │
│  ├─ Eliminación de Rich Header y aleatorización de timestamp │
│  ├─ Stubs de syscall directos (bypass de hooks en ntdll.dll) │
│  └─ Extracción dinámica de números de syscall desde disco │
├─────────────────────────────────────────────────────────┤
│  T2: Puente de Kernel (BYOVD — WinNotify.sys)             │
│  ├─ Detección de anti-cheat (10 motores)                  │
│  ├─ Controlador firmado por Microsoft (WinNotify.sys / signeddrv.sys)│
│  ├─ Lectura/escritura de memoria virtual del kernel vía IOCTL (sin mapeo físico) │
│  ├─ Recorrido de tablas de páginas basado en CR3 para cualquier proceso │
│  ├─ Derrota de KASLR mediante IOCTL de divulgación de base del kernel │
│  ├─ Bypass de ObCallback (manipulación de estructuras del kernel) │
│  └─ Ocultamiento de procesos (desenlace de PsActiveProcessLinks) │
├─────────────────────────────────────────────────────────┤
│  T3: Hardware DMA [NO IMPLEMENTADO]                       │
│  └─ Dispositivo PCIe FPGA para bypass de AC a nivel de hipervisor │
└─────────────────────────────────────────────────────────┘

Matriz de Cobertura

Anti-CheatTipoEstrategiaEstado
Warden (Blizzard)Modo usuarioT1Funcional
VAC (Valve)Modo usuarioT1Funcional
XIGNCODE3Controlador en modo usuarioT1Funcional
EasyAntiCheatControlador de kernelT2Requiere WinNotify.sys
BattlEyeControlador de kernelT2Requiere WinNotify.sys
nProtect GameGuardControlador de kernelT2Requiere WinNotify.sys
Ricochet (CoD)Controlador de kernelT2Parcial
Vanguard (Riot)HipervisorT3 (DMA)NO IMPLEMENTADO
Faceit / ESEAKernel + HipervisorT3 (DMA)NO IMPLEMENTADO

Estructura de Archivos

root@kitploit:~
.
├── README.md
├── Build.ps1                     # Pipeline de compilación automatizado (clona CE, aplica parches, compila)
├── .gitignore
├── src/
│   ├── cheatengine.lpi           # Proyecto: metadatos renombrados, define -daltname, salida renombrada
│   ├── cheatengine.lpr           # Principal: Application.Title dinámico
│   ├── NewKernelHandler.pas      # Núcleo: integración T1+T2, intercambio de punteros de función
│   ├── SyscallGateway.pas        # T1: Stubs de syscall directos (Read/Write/Open/VQE)
│   ├── AntiCheatDetector.pas     # T2: Detección de AC — procesos, controladores, servicios
│   ├── PhysicalMemory.pas        # T2: Cargador de controlador + lectura/escritura de memoria física vía IOCTL
│   ├── KernelBridge.pas          # T2: Orquestador de bypass de kernel + desactivación de ObCallback
│   ├── StealthHiding.pas         # T2: Ocultamiento de procesos mediante desenlace de PsActiveProcessLinks
│   ├── PEPatcher.ps1             # Mutación de PE posterior a la compilación
│   └── Build-Stealth.ps1         # Script de compilación independiente heredado
└── cheat-engine/                  # Código fuente CE upstream (clonado por Build.ps1)

Cómo Funciona

Nivel 1: Evasión en Modo Usuario

Ofuscación de Superficie — Utiliza la compilación condicional integrada de CE {$ifdef altname}:

  • Título de ventana: "Runtime Modifier" en lugar de "Cheat Engine 7.5"
  • Claves de registro: \Software\Runtime Modifier\ en lugar de \Software\Cheat Engine\
  • Todas las cadenas visibles al usuario: "Modification", "Code Table", etc.
  • Metadatos de PE: descripciones genéricas de empresa/archivo, información de versión eliminada
  • Nombre de salida: sysdiag64.exe en lugar de cheatengine-x86_64.exe

Puerta de Enlace de Syscalls — El controlador de kernel DBK de CE está deshabilitado (su hash de certificado está en la lista negra de EAC/BE). En su lugar, todas las funciones de acceso a memoria (ReadProcessMemory, WriteProcessMemory, VirtualQueryEx, OpenProcess) se redirigen a través de stubs de instrucción syscall directos:

  • Lee ntdll.dll desde disco antes de que los hooks de anti-cheat estén activos
  • Analiza la tabla de exportaciones de PE para extraer los números de syscall sin procesar
  • Genera stubs de ensamblador: mov r10, rcx; mov eax, [syscall_num]; syscall; ret
  • Evita los hooks en modo usuario en ntdll.dll instalados por EAC/BE

Nivel 2: Puente de Kernel (BYOVD — WinNotify.sys)

Para anti-cheats a nivel de kernel que bloquean la creación de handles mediante ObRegisterCallbacks:

  1. Detección: Escanea controladores de EAC/BE (EasyAntiCheat.sys, BEDaisy.sys) y servicios
  2. Carga del controlador: Carga WinNotify.sys / signeddrv.sys (firmado con Authenticode de Microsoft, 2026, 0 detecciones VT) mediante el Administrador de Control de Servicios de Windows
  3. Derrota de KASLR (IOCTL 0x22200C): Lee la dirección base de ntoskrnl.exe directamente de la lista de módulos cargados del kernel
  4. Lectura/escritura de memoria virtual del kernel (IOCTL 0x222040/0x222044): Lee/escribe cualquier dirección virtual del kernel — sin necesidad de traducción de direcciones físicas
  5. Recorrido de EPROCESS: Encuentra el proceso System (PID=4), recorre ActiveProcessLinks para localizar el proceso del juego objetivo
  6. Recorrido de tabla de páginas CR3 (IOCTL 0x222050/0x222054): Utiliza el DirectoryTableBase del juego para leer/escribir su memoria virtual a través de sus propias tablas de páginas
  7. Cero handles necesarios: Sin OpenProcess, sin NtReadVirtualMemory — completamente invisible para ObCallbacks
  8. Ocultamiento de procesos: Desenlaza el EPROCESS de CE de PsActiveProcessLinks

Nivel 3: Hardware DMA (NO IMPLEMENTADO)

Para anti-cheats a nivel de hipervisor (Vanguard, Faceit), se necesitaría un dispositivo DMA PCIe para leer la RAM física desde el bus, evitando tanto las protecciones del kernel como del hipervisor. Documentado como extensión de investigación futura.

Requisitos Previos

  1. IDE Lazarus 3.x con FreePascal 3.2.2: https://www.lazarus-ide.org/
  2. Git para clonar el repositorio CE upstream
  3. Privilegios de administrador (requeridos para la carga de controladores y acceso a procesos)
  4. WinNotify.sys / signeddrv.sys — Controlador de kernel firmado por Microsoft que proporciona:
    • Lectura arbitraria de memoria virtual del kernel (IOCTL 0x222040)
    • Escritura arbitraria de memoria virtual del kernel (IOCTL 0x222044)
    • Recorrido de tabla de páginas CR3 por proceso (IOCTL 0x222050/0x222054)
    • Colocar en C:\Windows\System32\drivers\ o junto al ejecutable compilado

Instrucciones de Compilación

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

# Si Lazarus no está en C:\lazarus:
.\Build.ps1 -Clean -LazarusPath "D:\lazarus"

El script:

  1. Clona Cheat Engine upstream (si no está presente)
  2. Copia los archivos parcheados en el código fuente upstream
  3. Aleatoriza los identificadores de compilación (versión, número de compilación)
  4. Compila con lazbuild en modo Release 64-Bit
  5. Ejecuta PEPatcher para eliminar el Rich Header, renombrar secciones, aleatorizar el timestamp
  6. Genera bin\sysdiag64.exe

Comportamiento en Tiempo de Ejecución

root@kitploit:~
Ejecutar sysdiag64.exe
  │
  ├─ DetectAntiCheat() → escanea motores de AC en ejecución
  │
  ├─ [Sin AC de kernel detectado]
  │   └─ T1 activo: bypass de syscall para todas las operaciones
  │
  ├─ [EAC/BE detectado + WinNotify.sys disponible]
  │   ├─ Cargar controlador vía SCM
  │   ├─ IOCTL 0x22200C → filtrar base del kernel (KASLR derrotado)
  │   ├─ IOCTL 0x222040 → leer PsInitialSystemProcess → recorrer ActiveProcessLinks
  │   ├─ Encontrar EPROCESS del juego → extraer DirectoryTableBase (CR3)
  │   ├─ Ocultar propio proceso de la enumeración
  │   └─ Todas las operaciones de memoria vía recorrido de tabla de páginas CR3 (cero handles, cero OpenProcess)
  │
  └─ [Vanguard/Faceit detectado]
      └─ Advertencia: AC de hipervisor — requiere T3 (hardware DMA, no implementado)

Contexto Académico

Este proyecto demuestra los siguientes conceptos de ciberseguridad:

  • Explotación de CVE: CVE-2019-16098 — vulnerabilidad de controlador firmado que permite mapeo arbitrario de memoria física desde modo usuario sin privilegios
  • Manipulación de Objetos del Kernel: Modificación directa de EPROCESS, ObCallbacks y estructuras de tablas de páginas
  • Formato de Archivo PE: Manipulación programática de Rich Header, encabezados de secciones, directorios de depuración
  • Arquitectura de Anti-Cheat: Comprensión de la pila de detección: hooks en modo usuario → callbacks de kernel → protección de hipervisor
  • Internals de Windows: Paginación x64 (PML4→PDP→PD→PT), mecanismo de syscall, Administrador de Objetos, Administrador de Control de Servicios
  • Técnicas de Evasión: Ofuscación de superficie, puerta de enlace de syscalls, ocultamiento de handles, ocultamiento de procesos, BYOVD

Limitaciones

  • Vanguard opera a nivel de hipervisor (controlador de arranque) y no puede ser evadido sin T3 (hardware DMA)
  • Faceit/ESEA utilizan protección en capas de kernel + hipervisor — requiere T3
  • WinNotify.sys podría agregarse a la lista de bloqueo de controladores de Microsoft en futuras actualizaciones de Windows
  • Windows 11 con HVCI/VBS activo puede bloquear el controlador a pesar de la firma válida de Microsoft
  • Los offsets de EPROCESS varían según la compilación de Windows; la lista incluida cubre 10 22H2 y 11 23H2

Referencias

  • WinNotify.sys / signeddrv.sys: Controlador de kernel vulnerable firmado por Microsoft (2026, 0 detecciones VT)
  • Cheat Engine: https://github.com/cheat-engine/cheat-engine
  • Windows NT Kernel: ObRegisterCallbacks, PsActiveProcessLinks, EPROCESS, CR3/DirectoryTableBase
  • IDE Lazarus: https://www.lazarus-ide.org/
  • LOLDrivers: https://www.loldrivers.io/

Solo para Uso Académico — Este proyecto forma parte de un plan de estudios de tesis/investigación universitaria. Será destruido al finalizar el período académico según la política de la universidad.

Descargar herramienta