Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
dezlock-dump — Инструмент для извлечения runtime schema и RTTI для Deadlock, CS2, Dota и других (Source 2). source2gen не требуется. | Kitploit
Инструменты/GitHubGitHub/dougwithseismic/dezlock-dump
РазведкаКриминалистика памятиДинамический анализ кода (DAST)Обратная инженерияОтладчикиСбор информацииАнализ Бинарных ФайловСтатьи и ИсследованияОбучение и Образование
GitHubdougwithseismic/dezlock-dump

dezlock-dump

Инструмент для извлечения runtime schema и RTTI для Deadlock, CS2, Dota и других (Source 2). source2gen не требуется.

8213572 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

dezlock-dump

GitHub Release Build Discord

Извлекает всё из запущенной игры на Source 2 (Deadlock, CS2, Dota 2) и генерирует устойчивый к патчам C++ SDK, который разрешает смещения во время выполнения. Никаких жёстко заданных значений, никаких ручных обновлений при выходе патчей игры.

dezlock-dump viewer

Watch the demo

Быстрый старт

  1. Скачайте из Releases (или соберите из исходников)
  2. Запустите игру — загрузитесь в матч или лобби
  3. Запустите от имени администратора:
dezlock-dump.exe

Вот и всё. Автоматически определяет игру, выгружает всё, генерирует полный SDK. Результат сохраняется в schema-dump/<game>/ рядом с 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

Что вы получаете

SDK с разрешением во время выполнения (главное)

Готовые к подключению заголовочные файлы C++ для вашей внедрённой DLL. Поля и виртуальные функции разрешаются во время выполнения из собственной SchemaSystem игры — ваш скомпилированный DLL переживает патчи игры без пересборки.

#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+ структур, включая все игровые VData (способности, предметы, оружие, модификаторы), 229 классов сущностей и 1 766 классов с обёртками виртуальных функций.

Всё остальное

ВыходЧто это
internal-sdk/C++-заголовки, разрешаемые во время выполнения (сущности, структуры, перечисления, VData)
sdk/Статический SDK с constexpr-смещениями (ломается при патчах, полезен как справочник)
signatures/Байтовые сигнатуры в стиле IDA для каждой функции vtable во всех 58+ DLL
_globals.txt10 000+ автоматически обнаруженных глобальных синглтонов с деревьями полей
_protobuf-messages.txtДекодированные определения .proto, встроенные в игровые бинарники
_all-modules.jsonПолный структурированный экспорт JSON — передайте его в просмотрщик или собственные инструменты

Макросы 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
};

Имена виртуальных функций обнаруживаются автоматически из бинарного файла — перекрёстные ссылки на отладочные строки, вывод о доступе к членам и дескрипторы protobuf. Никакой ручной настройки.

Интерактивный просмотрщик

cd viewer && pnpm install && pnpm dev

Перетащите ваш _all-modules.json на страницу или подключитесь в реальном времени к работающему дампу (флаг --live). Браузер классов/полей/перечислений с поиском, инспектор сущностей в реальном времени, кликабельные цепочки наследования, глобальные синглтоны, сообщения protobuf.

Сборка из исходного кода

Требуется Visual Studio 2022 с рабочей нагрузкой для классических приложений C++.

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

Справочник по CLI

ФлагОписание
--process <name>Целевой процесс (по умолчанию: автоопределение)
--output <dir>Каталог вывода (по умолчанию: schema-dump/<game>/)
--liveЗапустить WebSocket-сервер на :9100 для инспекции в реальном времени
--schema <path>Загрузить существующий JSON-дамп вместо внедрения
--internal-sdkГенерировать только runtime SDK
--sdkГенерировать только статический SDK
--signaturesГенерировать только байтовые сигнатуры
--layoutsГенерировать только раскладки членов

Без флагов = генерировать всё.

Технические подробности

  • Как SchemaSystem в Source 2 работает изнутри
  • Создание сканера RTTI MSVC x64 с нуля
  • Ручное отображение DLL: как и почему мы обходим LoadLibrary
  • Автообнаружение более 10 000 глобальных синглтонов
  • Создание интерактивного просмотрщика бинарного анализа

Отказ от ответственности

Только в образовательных и исследовательских целях. Инспекция памяти только для чтения — без модификации игры, без конкурентного преимущества. Используйте на свой риск; может нарушать ToS целевого приложения. Извлечённые данные остаются интеллектуальной собственностью их соответствующих владельцев.

Участие в проекте

Issues | Pull requests | Discord

Скачать инструмент