
Herramienta de extracción de esquema de tiempo de ejecución + RTTI para Deadlock, CS2, Dota y otros (Source 2). No se requiere source2gen.
Extrae todo de un juego Source 2 en ejecución (Deadlock, CS2, Dota 2) y genera un SDK de C++ a prueba de parches que resuelve offsets en tiempo de ejecución. Sin valores codificados, sin actualizaciones manuales cuando el juego se parchea.

dezlock-dump.exe
Eso es todo. Detecta automáticamente el juego, vuelca todo, genera el SDK completo. La salida se coloca en schema-dump/<game>/ junto al ejecutable.
# Target a specific game
dezlock-dump.exe --process cs2.exe
# Live mode — starts a WebSocket server for real-time entity inspection
dezlock-dump.exe --live
Encabezados C++ listos para usar en tu DLL inyectada. Los campos y funciones virtuales se resuelven en tiempo de ejecución desde el propio SchemaSystem del juego — tu DLL compilada sobrevive a los parches del juego sin necesidad de recompilar.
#include "internal-sdk/client/entities/C_BaseEntity.hpp"
sdk::C_BaseEntity* ent = /* from entity list */;
// Fields — resolved at runtime, cached after first call
int hp = ent->m_iHealth();
uint8_t team = ent->m_iTeamNum();
bool alive = ent->is_alive();
// Virtual functions — call through vtable by index
int max_hp = ent->GetMaxHealth(); // VFUNC(163, int32_t, GetMaxHealth)
Más de 2400 estructuras incluyendo todos los VData específicos del juego (habilidades, objetos, armas, modificadores), 229 clases de entidades, y 1766 clases con envoltorios de funciones virtuales.
struct C_BaseEntity : CEntityInstance {
SCHEMA_CLASS("client.dll", "C_BaseEntity");
FIELD(m_iHealth, int32_t); // runtime-resolved field
FIELD_PTR(m_pGameSceneNode, void*); // pointer dereference
FIELD_ARRAY(m_nCurrencies, int32_t, 6); // fixed-size array
FIELD_BLOB(m_Particles, 40); // opaque bytes
VFUNC(146, int32_t, GetHealth); // named virtual call
VFUNC_ARGS(42, void, SetModel, const char*); // with arguments
VFUNC_RAW(53); // unnamed, with signature hint
};
Los nombres de las funciones virtuales se descubren automáticamente desde el binario — referencias cruzadas de cadenas de depuración, inferencia de acceso a miembros y descriptores protobuf. Sin configuración manual.
cd viewer && pnpm install && pnpm dev
Arrastra tu _all-modules.json a la página, o conéctate en vivo a un volcado en ejecución (bandera --live). Navegador de clases/campos/enumeraciones con búsqueda, inspector de entidades en vivo, cadenas de herencia cliqueables, singletons globales, mensajes protobuf.
Requiere Visual Studio 2022 con la carga de trabajo de escritorio de C++.
cmake -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release
Sin banderas = generar todo.
Solo con fines educativos y de investigación. Inspección de memoria de solo lectura — sin modificación del juego, sin ventaja competitiva. Úselo bajo su propio riesgo; puede violar los Términos de servicio de la aplicación objetivo. Los datos extraídos siguen siendo propiedad intelectual de sus respectivos dueños.
| Salida | Descripción |
|---|
internal-sdk/ | Encabezados C++ resueltos en tiempo de ejecución (entidades, estructuras, enumeraciones, VData) |
sdk/ | SDK estático con offsets constexpr (se rompe con parches, útil como referencia) |
signatures/ | Patrones de bytes al estilo IDA para cada función vtable en más de 58 DLLs |
_globals.txt | Más de 10,000 singletons globales auto-descubiertos con árboles de campos |
_protobuf-messages.txt | Definiciones .proto decodificadas incrustadas en los binarios del juego |
_all-modules.json | Exportación JSON estructurada completa — aliméntala al visor o a tus propias herramientas |
| Bandera | Descripción |
|---|
--process <name> | Proceso objetivo (por defecto: detección automática) |
--output <dir> | Directorio de salida (por defecto: schema-dump/<game>/) |
--live | Inicia un servidor WebSocket en :9100 para inspección en tiempo real |
--schema <path> | Carga un volcado JSON existente en lugar de inyectar |
--internal-sdk | Solo generar SDK en tiempo de ejecución |
--sdk | Solo generar SDK estático |
--signatures | Solo generar patrones de bytes |
--layouts | Solo generar diseños de miembros |