Este proyecto implementa un menú visual interactivo de trampas (cheats) para videojuegos basados en DirectX u OpenGL, programado en C++, utilizando OpenGL para renderizar el menú en pantalla y MinHook para interceptar funciones críticas del juego como wglSwapBuffers
.
Se distribuye como una DLL inyectable, permitiendo mostrar un overlay dentro del juego sin alterar archivos internos, ideal para pruebas de memoria, diseño de trampas personalizadas o como base educativa para desarrolladores.
🛠️ Características Principales
✅ Menú Visual Interactivo (Overlay)
-
Dibujado directamente sobre la pantalla usando OpenGL.
-
Diseño minimalista, con fondo transparente (sin cuadros opacos).
-
Opciones en color verde, con la opción seleccionada claramente resaltada.
-
Bordes del menú en amarillo para una mejor visibilidad.
-
Watermark discreto en una esquina indicando la tecla
INSERT
.
🎯 Trampas Incluidas
Cada trampa puede activarse o desactivarse desde el menú usando el teclado:
-
🩸 Vida infinita: Fuerza la salud a 9999.
-
🔫 Munición infinita: Establece la munición en 999.
-
⚡ Super velocidad: Duplica la velocidad del personaje.
-
🔄 Sin recarga: Omite la animación/lógica de recarga mediante un flag booleano.
🎮 Controles del Menú
-
INSERT
: Mostrar u ocultar el menú. -
↑ / ↓
: Navegar por las opciones. -
ENTER
: Activar o desactivar la opción seleccionada.
⚙️ Tecnologías Utilizadas
-
Lenguaje: C++
-
Renderizado: OpenGL (
gl.h
) -
Hooking: MinHook (ligero y eficiente)
-
Texto:
wglUseFontBitmaps
para renderizado textual básico -
Inyección: Cargado como DLL (compatible con Extreme Injector, Xenos, etc.)
🔐 Estabilidad y Seguridad
-
El menú no modifica archivos del juego.
-
Utiliza acceso dinámico a memoria mediante PointerChain (punteros con offsets).
-
Protección contra punteros nulos, previniendo cierres del juego.
-
Hook no interfiere con el pipeline original del juego (intercepta
wglSwapBuffers
de forma segura).
📁 Estructura del Código
-
Main.cpp
: Lógica principal (hook, menú, input, cheats). -
MinHook
: Biblioteca externa para instalar hooks sin conflictos. -
Funciones auxiliares como:
-
DrawText
yDrawBox
: Renderizado gráfico del menú. -
ResolvePointerChain
: Obtiene direcciones reales de memoria mediante offsets.
-
🧠 Requisitos del Proyecto
-
Visual Studio 2019 o superior.
-
opengl32.lib
(incluido por defecto en Windows SDK). -
Arquitectura: x86 o x64 según el juego.
-
Biblioteca MinHook correctamente incluida y compilada.
🚀 ¿Cómo Usarlo?
-
Compila el proyecto como DLL desde Visual Studio.
-
Inyéctalo en el juego usando tu inyector preferido (Extreme Injector, Xenos, etc.).
-
Presiona
INSERT
para mostrar el menú. -
Activa las trampas deseadas con
ENTER
.
📝 Notas Finales
Este proyecto es ideal para desarrolladores interesados en:
-
Crear su propio menú de trampas personalizado.
-
Aprender sobre hooking, renderizado overlay con OpenGL y manipulación de memoria.
-
Ampliar la base del proyecto con nuevas trampas, compatibilidad con ImGui o soporte para DirectX.
⚠️ Uso responsable: Este proyecto tiene fines educativos. Su mal uso puede violar términos de servicio de los juegos.