Autor: EddyoT&G
Descripción:
Una guía educativa y responsable sobre hacking de videojuegos, ingeniería inversa y modificación de juegos, creada por EddyoT&G. Este libro combina teoría y práctica para enseñar cómo funcionan internamente los juegos, usando ejemplos claros y seguros. Incluye conceptos básicos, ejemplos prácticos, técnicas avanzadas y buenas prácticas.
👉 Síguelo en Instagram: @enriqueot200
👉 YouTube: EddyoT&G
🚀 Introducción
Cada juego guarda datos en la memoria del sistema: vida, dinero, posición, experiencia. Un hacker de juegos localiza estas variables para leerlas o modificarlas.
- Vida = 100
- Oro = 500
- Posición = {x: 50, y: 100, z: 0}
Si encontramos la dirección de memoria de la vida, podemos modificarla para que nunca llegue a 0.
⚡ Conceptos Clave: Memoria y Variables
Los juegos almacenan información crítica en memoria RAM:
- Atributos del jugador: vida, energía, experiencia
- Recursos económicos: oro, puntos, monedas
- Posicionamiento espacial: coordenadas x, y, z
- Estados del juego: nivel actual, inventario
🛠 Herramientas Más Usadas
🔹 Cheat Engine
- Escanear memoria en tiempo real
- Buscar valores específicos (enteros, flotantes, cadenas)
- Modificar valores directamente
- Crear scripts de automatización
🔹 ReClass.NET
- Visualización jerárquica de datos
- Identificación de tipos de variables
- Reconstrucción de clases y estructuras
🔹 IDA Pro / Ghidra
- Desensamblar binarios
- Analizar código estático
- Generar pseudocódigo
- Localizar funciones críticas
🤖 Automatización con Scripts
Con bucles en C++ o scripts en Cheat Engine es posible fijar valores automáticamente:
while(true) {
vida = 9999;
Sleep(100);
}
🌐 Acceso a Posiciones 3D
En juegos 3D la posición del jugador se guarda en {x, y, z}.
Modificando estos valores puedes teletransportarte o analizar movimientos.
- Abrir juego offline
- Escanear valor de vida
- Encontrar dirección en memoria
- Mapear estructura en ReClass.NET
- Modificar valores con script
- Probar cambios en tiempo real
⚖ Ética y Buenas Prácticas
- ✅ Practicar siempre en juegos offline o open source
- ✅ Aplicar conocimientos a modding, testing y seguridad informática
- ❌ Nunca usar hacks en multijugador
- ❌ No distribuir hacks ni usarlos con fines maliciosos
🖥 Funciones Críticas: ReadProcessMemory y WriteProcessMemory
ReadProcessMemory
BOOL ReadProcessMemory(
HANDLE hProcess,
LPCVOID lpBaseAddress,
LPVOID lpBuffer,
SIZE_T nSize,
SIZE_T *lpNumberOfBytesRead
);
Permite leer memoria de otro proceso, útil para analizar valores sin modificarlos.
WriteProcessMemory
BOOL WriteProcessMemory(
HANDLE hProcess,
LPVOID lpBaseAddress,
LPCVOID lpBuffer,
SIZE_T nSize,
SIZE_T *lpNumberOfBytesWritten
);
Permite modificar memoria de otro proceso (requiere ética y cuidado).
🧩 Técnicas Avanzadas: Multipunteros y Offsets
En sistemas modernos, la memoria es dinámica. Para ubicar datos se usan:
- Punteros base: direcciones estables
- Offsets: desplazamientos jerárquicos
BaseAddress = 0xABCD0000
PrimerOffset = 0x20
SegundoOffset = 0x14
DirecciónFinal = *(*(BaseAddress + PrimerOffset) + SegundoOffset)
🔍 Ingeniería Inversa
Ghidra (Análisis Estático)
- Abrir el ejecutable del juego
- Buscar funciones clave (ej: UpdateHealth, AddMoney)
- Analizar pseudocódigo
void UpdateHealth(int newHealth) {
player->health = newHealth;
}
x64dbg (Análisis Dinámico)
- Adjuntar debugger al proceso
- Colocar breakpoints
- Modificar registros en tiempo real
🔒 Técnicas Avanzadas (solo con fines educativos)
- Bypass de anticheats (teoría): escaneo de memoria, integridad de archivos
- Manual Mapping: inyección de DLL
- Hooking limpio: usando MinHook o Detours
- Packet Sniffing: análisis con Wireshark (solo educativo)
💼 Carreras en Seguridad de Juegos
- Game Security Engineer
- Pentester especializado en juegos
- Desarrollador de anticheats
💡 Ejemplo Práctico: Trainer Básico en C++
#include <windows.h>
int main() {
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, 1234);
int newHealth = 9999;
WriteProcessMemory(hProcess, (LPVOID)0x0456FF12, &newHealth, sizeof(int), 0);
CloseHandle(hProcess);
return 0;
}
- Usa Cheat Engine para encontrar la dirección de la vida
- Implementa el código en C++
- Solo úsalo en juegos offline
📌 Conclusión
Este conocimiento debe usarse para:
- Mejorar tus habilidades en programación
- Investigar vulnerabilidades de forma ética
- Crear mods y herramientas legítimas
🔗 Contacto:
YouTube: @EddyoT&G
Instagram: @enriqueot200