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

dezlock-dump.exe
هذا كل شيء. يكشف اللعبة تلقائيًا، يفرغ كل شيء، يولد الـ SDK كاملًا. المخرجات تظهر في schema-dump/<game>/ بجانب الملف التنفيذي.
# استهداف لعبة محددة
dezlock-dump.exe --process cs2.exe
# الوضع المباشر — يشغل خادم WebSocket لفحص الكيانات في الوقت الفعلي
dezlock-dump.exe --live
ملفات رأس C++ قابلة للإدراج في الـ DLL المحقون. الحقول والدوال الافتراضية تُحل وقت التشغيل من نظام SchemaSystem الخاص باللعبة — الـ DLL المُجمّع يتحمل تصحيحات اللعبة دون إعادة بناء.
#include "internal-sdk/client/entities/C_BaseEntity.hpp"
sdk::C_BaseEntity* ent = /* من قائمة الكيانات */;
// الحقول — تُحل وقت التشغيل، تُخبأ بعد الاستدعاء الأول
int hp = ent->m_iHealth();
uint8_t team = ent->m_iTeamNum();
bool alive = ent->is_alive();
// الدوال الافتراضية — تُستدعى من خلال جدول الدوال الافتراضية بالفهرس
int max_hp = ent->GetMaxHealth(); // VFUNC(163, int32_t, GetMaxHealth)
أكثر من 2,400 بنية بما في ذلك جميع بيانات VData الخاصة باللعبة (قدرات، عناصر، أسلحة، مُعدِّلات)، 229 فئة كيان، و1,766 فئة مع أغلفة دوال افتراضية.
struct C_BaseEntity : CEntityInstance {
SCHEMA_CLASS("client.dll", "C_BaseEntity");
FIELD(m_iHealth, int32_t); // حقل محلول وقت التشغيل
FIELD_PTR(m_pGameSceneNode, void*); // إلغاء مرجع المؤشر
FIELD_ARRAY(m_nCurrencies, int32_t, 6); // مصفوفة ثابتة الحجم
FIELD_BLOB(m_Particles, 40); // بايتات غير شفافة
VFUNC(146, int32_t, GetHealth); // استدعاء افتراضي مسمى
VFUNC_ARGS(42, void, SetModel, const char*); // مع وسائط
VFUNC_RAW(53); // غير مسمى، مع تلميح التوقيع
};
تُكتشف أسماء الدوال الافتراضية تلقائيًا من الملف الثنائي — مراجع سلاسل التصحيح، استنتاج الوصول إلى الأعضاء، وواصفات 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
لا علامات = توليد كل شيء.
لأغراض تعليمية وبحثية فقط. فحص ذاكرة للقراءة فقط — لا تعديل في اللعبة، لا ميزة تنافسية. استخدم على مسؤوليتك الخاصة؛ قد يخالف شروط استخدام التطبيق المستهدف. تظل البيانات المستخرجة ملكية فكرية لأصحابها.
| المخرجات | الوصف |
|---|
internal-sdk/ | رؤوس C++ محلولة وقت التشغيل (كيانات، بنى، تعدادات، بيانات VData) |
sdk/ | SDK ثابت باستخدام إزاحات constexpr (ينكسر عند التصحيحات، مفيد كمرجع) |
signatures/ | أنماط بايت على غرار IDA لكل دالة في جداول الدوال الافتراضية عبر أكثر من 58 DLL |
_globals.txt | أكثر من 10,000 كائن فردي عالمي مكتشف تلقائيًا مع أشجار الحقول |
_protobuf-messages.txt | تعريفات .proto مفكوكة مضمنة في ملفات اللعبة الثنائية |
_all-modules.json | تصدير JSON كامل ومنظم — غذّه للعارض أو أدواتك الخاصة |
| العلامة | الوصف |
|---|
--process <name> | العملية المستهدفة (الافتراضي: الكشف التلقائي) |
--output <dir> | دليل المخرجات (الافتراضي: schema-dump/<game>/) |
--live | تشغيل خادم WebSocket على المنفذ :9100 للفحص في الوقت الفعلي |
--schema <path> | تحميل تفريغ JSON موجود بدلاً من الحقن |
--internal-sdk | توليد SDK وقت التشغيل فقط |
--sdk | توليد SDK الثابت فقط |
--signatures | توليد أنماط البايت فقط |
--layouts | توليد تخطيطات الأعضاء فقط |