Una guía educativa para entender Counter-Strike 2 y Source 2 desde adentro, aunque hoy no sepas programar.
Este repositorio no quiere enseñarte a copiar 0x12345678 de un paste y rezar para que Valve no actualice el juego. Quiere enseñarte qué significa ese número, de dónde puede salir, qué objeto representa, por qué puede cambiar y cómo comprobarlo.
Si nunca viste un pointer, una DLL, un schema, una CVar o una vtable, estás en el lugar correcto.
Cada tema sigue, siempre que sea posible, esta escalera:
1. Idea cotidiana
↓
2. Concepto informático
↓
3. Cómo aparece en un programa real
↓
4. Cómo lo usa Source 2
↓
5. Cómo aparece en CS2
↓
6. Cómo comprobarlo con evidencia pública
No asumimos C++, assembly ni reverse engineering previo.
Empieza en docs/00-start-here/01-ruta-sin-programacion.md.
Primero vas a aprender a leer dumps, clases, direcciones y diagramas. No necesitas abrir Visual Studio para los primeros laboratorios.
Puedes comenzar en fundamentos y saltar lo que conozcas. La ruta recomendada es:
flowchart TD
A[Fundamentos] --> B[Arquitectura de CS2]
B --> C[Memoria y offsets]
C --> D[Schema System]
D --> E[Entity System]
E --> F[Player / Controller / Pawn]
F --> G[Rendering y escena]
F --> H[Input y networking]
B --> I[CVars y eventos]
B --> J[Resources]
C --> K[Reverse engineering]
H --> L[Demos y protobufs]
- bits, bytes, hexadecimal y memoria virtual;
- procesos, módulos, DLL, PE, VA y RVA;
- pointers, clases, herencia y estructuras;
- Source 2 y los módulos de CS2;
- offsets, signatures y por qué se rompen;
- Schema System y cómo leer dumps;
- Entity System, handles, Controller/Pawn, services y lifecycle;
- scene graph, transforms, models, skeletons, materiales y partículas;
- inputs, ticks, subticks, snapshots, prediction e interpolation;
- ConVars/CVars, commands, flags y game events;
- weapons, Econ, paint kits, wear, pattern/seed e inventory;
- VPK, KV3 y recursos compilados de Source 2;
- PE, imports/exports, strings, xrefs, RTTI y vtables;
- demos, protobufs y parsers;
- metodología de investigación y cómo distinguir evidencia de especulación.
Este es un proyecto de arquitectura, documentación y reverse engineering educativo. No incluye instrucciones para evadir VAC u otros anti-cheat, ocultar software, desarrollar bypasses o automatizar ventajas injustas en partidas públicas.
Los laboratorios usan archivos públicos, dumps, demos, Workshop Tools, datos estáticos o entornos locales/de prueba.
Encontrarás estas marcas por todo el repo:
| Marca | Significa |
|---|---|
| ✅ Documentado | Fuente primaria/oficial o especificación pública. |
| 🔬 Observado | Se puede verificar en una build/dump concreto. |
| 🧩 Community RE | Reverse engineering comunitario; útil, pero no oficial. |
| Puede cambiar con una actualización. | |
| 🤔 Inferencia | Explicación razonable que aún necesita más evidencia. |
La versión incluida aquí es una base extensa v0.1: ya tiene el recorrido completo y capítulos nucleares escritos, pero “TODO CS2” es una meta viva. CS2 cambia, Source 2 es grande y nadie debería fingir que una wiki comunitaria está terminada.
Consulta ROADMAP.md y docs/references/research-log-2026-08-10.md.
El proyecto prioriza fuentes reproducibles y mantiene separadas autoridad y actualidad:
- Valve / Steam / Valve Developer Community;
- Microsoft Learn para Windows, memoria y PE;
- SteamTracking/GameTracking-CS2 para snapshots públicos de schemas, commands, convars, protobufs y archivos;
- ValveResourceFormat para recursos Source 2;
- a2x/cs2-dumper como referencia comunitaria de datos volátiles;
- CS2 Docs, Metamod, CounterStrikeSharp y parsers de demos como fuentes comunitarias especializadas;
- UnknownCheats como foro de investigación comunitaria, nunca como autoridad por sí sola.
Todo enlace y criterio está en docs/references/sources.md.