
Deadlock、CS2、Dotaなどの(Source 2)向けランタイムスキーマ+RTTI抽出ツール。source2genは不要。
実行中のSource 2ゲーム(Deadlock、CS2、Dota 2)からあらゆるものを抽出し、実行時にオフセットを解決するパッチ耐性のあるC++ SDKを生成します。ハードコードされた値はなく、ゲームがパッチを適用しても手動更新は不要です。

dezlock-dump.exe
以上です。ゲームを自動検出し、すべてをダンプして、完全なSDKを生成します。出力はexeと同じ場所の schema-dump/<game>/ に保存されます。
# 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
インジェクトしたDLLにそのまま組み込めるC++ヘッダーです。フィールドと仮想関数はゲーム自身の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/ | constexprオフセットを持つ静的SDK(パッチで壊れるが、参照用として有用) |
signatures/ | 58以上のDLLにわたるすべてのvtable関数のIDA形式バイトパターン |
_globals.txt | フィールドツリーを持つ10,000以上の自動検出されたグローバルシングルトン |
_protobuf-messages.txt | ゲームバイナリに埋め込まれたデコード済み.proto定義 |
_all-modules.json | 完全な構造化JSONエクスポート — ビューアまたは独自ツールに渡せます |
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 メッセージ。
C++ デスクトップワークロードを含む Visual Studio 2022 が必要です。
cmake -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release
| フラグ | 説明 |
|---|---|
--process <name> | 対象プロセス(デフォルト: 自動検出) |
--output <dir> | 出力ディレクトリ(デフォルト: schema-dump/<game>/) |
--live | リアルタイム検査用に :9100 で WebSocket サーバーを起動 |
--schema <path> | インジェクションの代わりに既存の JSON ダンプを読み込む |
--internal-sdk | ランタイム SDK のみを生成 |
--sdk | 静的 SDK のみを生成 |
--signatures | バイトパターンのみを生成 |
--layouts | メンバーレイアウトのみを生成 |
フラグなし = すべてを生成。
教育および研究目的のみ。読み取り専用のメモリ検査であり、ゲームの改変や競争上の優位性はありません。自己責任で使用してください。対象アプリケーションの利用規約に違反する可能性があります。抽出されたデータの知的財産権は、それぞれの所有者に帰属します。