Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
dezlock-dump — Strumento di estrazione dello schema in runtime e RTTI per Deadlock, CS2, Dota e altri (Source 2). Nessun source2gen richiesto. | Kitploit
Strumenti/GitHubGitHub/dougwithseismic/dezlock-dump
RicognizioneMemory ForensicsAnalisi Dinamica del Codice (DAST)Reverse EngineeringDebuggerRaccolta InformazioniAnalisi di BinariPaper e RicercaApprendimento e Formazione
GitHubdougwithseismic/dezlock-dump

dezlock-dump

Strumento di estrazione dello schema in runtime e RTTI per Deadlock, CS2, Dota e altri (Source 2). Nessun source2gen richiesto.

8213572 giorni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi Repository
Condividi

dezlock-dump

GitHub Release Build Discord

Estrae tutto da un gioco Source 2 in esecuzione (Deadlock, CS2, Dota 2) e genera un SDK C++ a prova di patch che risolve gli offset a runtime. Nessun valore hardcoded, nessun aggiornamento manuale quando il gioco riceve una patch.

dezlock-dump viewer

Guarda la demo

Avvio rapido

  1. Scarica da Releases (oppure compila dai sorgenti)
  2. Avvia il tuo gioco — entra in una partita o in una lobby
  3. Esegui come amministratore:
dezlock-dump.exe

È tutto. Rileva automaticamente il gioco, esegue il dump di tutto, genera l'SDK completo. L'output finisce in schema-dump/<game>/ accanto all'exe.

# 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

Cosa Ottieni

SDK Risolto a Runtime (la cosa principale)

Header C++ drop-in per la tua DLL iniettata. I campi e le funzioni virtuali vengono risolti a runtime dal SchemaSystem del gioco stesso — la tua DLL compilata sopravvive alle patch del gioco senza ricompilazione.

#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)

2.400+ struct incluse tutte le VData specifiche del gioco (abilità, oggetti, armi, modificatori), 229 classi di entità e 1.766 classi con wrapper di funzioni virtuali.

Tutto il resto

OutputCosa
internal-sdk/Header C++ risolti a runtime (entità, struct, enum, VData)
sdk/SDK statico con offset constexpr (si rompe con le patch, utile come riferimento)
signatures/Pattern di byte in stile IDA per ogni funzione vtable in oltre 58 DLL
_globals.txtOltre 10.000 singleton globali scoperti automaticamente con alberi dei campi
_protobuf-messages.txtDefinizioni .proto decodificate incorporate nei binari del gioco
_all-modules.jsonEsportazione JSON strutturata completa — passala al viewer o ai tuoi strumenti

Macro dell'SDK

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
};

I nomi delle funzioni virtuali vengono scoperti automaticamente dal binario — xref delle stringhe di debug, inferenza degli accessi ai membri e descrittori protobuf. Nessuna configurazione manuale.

Visualizzatore interattivo

cd viewer && pnpm install && pnpm dev

Trascina il tuo _all-modules.json sulla pagina, oppure connettiti in tempo reale a un dump in esecuzione (flag --live). Browser ricercabile di classi/campi/enum, ispettore di entità in tempo reale, catene di ereditarietà cliccabili, singleton globali, messaggi protobuf.

Compilazione dal sorgente

Richiede Visual Studio 2022 con il carico di lavoro desktop C++.

cmake -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release

Riferimento CLI

FlagDescrizione
--process <name>Processo di destinazione (predefinito: rilevamento automatico)
--output <dir>Directory di output (predefinita: schema-dump/<game>/)
--liveAvvia il server WebSocket su :9100 per l'ispezione in tempo reale
--schema <path>Carica un dump JSON esistente invece di eseguire l'iniezione
--internal-sdkGenera solo l'SDK runtime
--sdkGenera solo l'SDK statico
--signaturesGenera solo i pattern di byte
--layoutsGenera solo i layout dei membri

Nessun flag = genera tutto.

Approfondimenti tecnici

  • Come funziona internamente il SchemaSystem di Source 2
  • Costruire da zero uno scanner RTTI MSVC x64
  • Mappatura manuale delle DLL: come e perché evitiamo LoadLibrary
  • Scoperta automatica di oltre 10.000 singleton globali
  • Costruire un visualizzatore interattivo per l'analisi dei binari

Disclaimer

Solo a scopo educativo e di ricerca. Ispezione della memoria in sola lettura — nessuna modifica del gioco, nessun vantaggio competitivo. Utilizzare a proprio rischio; potrebbe violare i ToS dell'applicazione di destinazione. I dati estratti rimangono proprietà intellettuale dei rispettivi titolari.

Contribuire

Issues | Pull requests | Discord

Scarica lo strumento