
أداة استخراج مخطط وقت التشغيل + RTTI للألعاب Deadlock، CS2، Dota، وغيرها (Source 2). لا حاجة إلى source2gen.
يستخرج كل شيء من لعبة Source 2 قيد التشغيل (Deadlock، CS2، Dota 2) ويولّد SDK بلغة C++ محصّن ضد التحديثات يحلّ الإزاحات (offsets) في وقت التشغيل. لا قيم مضمّنة بشكل ثابت، ولا تحديثات يدوية عند إصدار تحديث للعبة.

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
ملفات رأس 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 struct بما في ذلك جميع VData الخاصة باللعبة (القدرات، العناصر، الأسلحة، المعدّلات)، و229 فئة كيان، و1,766 فئة مع أغلفة دوال افتراضية.
| المخرجات | الوصف |
|---|---|
internal-sdk/ | رؤوس C++ مُحدَّدة وقت التشغيل (الكيانات، الـ structs، الـ enums، VData) |
sdk/ | SDK ثابت مع إزاحات constexpr (تتعطل عند التحديثات، مفيدة كمرجع) |
signatures/ | أنماط بايت بنمط IDA لكل دالة vtable عبر أكثر من 58 DLL |
_globals.txt | أكثر من 10,000 singleton عاملي مكتشَف تلقائيًا مع أشجار الحقول |
_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 على الصفحة، أو اتصل مباشرةً بعملية dump قيد التشغيل (خيار --live). متصفح قابل للبحث للأصناف والحقول والتعدادات، ومفتش كيانات مباشر، وسلاسل وراثة قابلة للنقر، والـ singletons العامة، ورسائل protobuf.
يتطلب Visual Studio 2022 مع حزمة عمل C++ لسطح المكتب.
cmake -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release
| العَلَم | الوصف |
|---|---|
--process <name> | العملية الهدف (افتراضيًا: اكتشاف تلقائي) |
--output <dir> | دليل الإخراج (افتراضيًا: schema-dump/<game>/) |
--live | بدء خادم WebSocket على :9100 للفحص في الوقت الفعلي |
--schema <path> | تحميل تفريغ JSON موجود بدلًا من الحقن |
--internal-sdk | توليد SDK وقت التشغيل فقط |
--sdk | توليد SDK الثابت فقط |
--signatures | توليد أنماط البايت فقط |
--layouts | توليد تخطيطات الأعضاء فقط |
بدون أي أعلام = توليد كل شيء.
لأغراض تعليمية وبحثية فقط. فحص للذاكرة للقراءة فقط — لا تعديل على اللعبة، ولا ميزة تنافسية. استخدمه على مسؤوليتك الخاصة؛ قد ينتهك شروط خدمة التطبيق الهدف. تظل البيانات المستخرجة ملكية فكرية لأصحابها المعنيين.