Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
dezlock-dump — 运行时模式 + RTTI提取工具,适用于Deadlock、CS2、Dota等(Source 2)。无需source2gen。 | Kitploit
工具/GitHubGitHub/dougwithseismic/dezlock-dump
侦察内存取证动态代码分析 (DAST)逆向工程调试器信息收集二进制分析论文与研究学习与教育
GitHubdougwithseismic/dezlock-dump

dezlock-dump

运行时模式 + RTTI提取工具,适用于Deadlock、CS2、Dota等(Source 2)。无需source2gen。

查看仓库
82135个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

dezlock-dump

GitHub Release Build Discord Hire Me

从正在运行的 Source 2 游戏(Deadlock、CS2、Dota 2)中提取所有内容,并生成一个防修补的 C++ SDK,在运行时解析偏移量。无需硬编码值,游戏补丁时无需手动更新。

dezlock-dump 查看器

观看演示

快速开始

  1. 从 Releases 下载(或从源代码构建)
  2. 启动你的游戏——进入一场比赛或大厅
  3. 以管理员身份运行:
root@kitploit:~
dezlock-dump.exe

就是这样。自动检测游戏,转储所有内容,生成完整的 SDK。输出位于 exe 旁边的 schema-dump/<game>/ 目录中。

root@kitploit:~
# 指定目标游戏
dezlock-dump.exe --process cs2.exe

# 实时模式——启动 WebSocket 服务器以实时检查实体
dezlock-dump.exe --live

你得到什么

运行时解析的 SDK(主要内容)

可直接放入注入 DLL 中的 C++ 头文件。字段和虚函数在运行时从游戏自身的 SchemaSystem 解析——编译后的 DLL 在游戏补丁后仍可存活,无需重新编译。

root@kitploit:~
#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();

// 虚函数——通过 vtable 按索引调用
int max_hp   = ent->GetMaxHealth();     // VFUNC(163, int32_t, GetMaxHealth)

2,400 多个结构体,包括所有游戏特定的 VData(技能、物品、武器、修饰符),229 个实体类,以及 1,766 个带有虚函数包装器的类。

其他所有内容

SDK 宏

root@kitploit:~
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 描述符。无需手动配置。

交互式查看器

root@kitploit:~
cd viewer && pnpm install && pnpm dev

将你的 _all-modules.json 拖放到页面中,或实时连接正在运行的转储(--live 标志)。可搜索的类/字段/枚举浏览器、实时实体检查器、可点击的继承链、全局单例、protobuf 消息。

从源代码构建

需要 Visual Studio 2022 及 C++ 桌面工作负载。

root@kitploit:~
cmake -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release

CLI 参考

无标志 = 生成所有内容。

技术深入探讨

  • Source 2 的 SchemaSystem 内部工作原理
  • 从零构建 MSVC x64 RTTI 扫描器
  • 手动 DLL 映射:为何以及如何绕过 LoadLibrary
  • 自动发现 10,000+ 个全局单例
  • 构建交互式二进制分析查看器

免责声明

仅用于教育和研究目的。只读内存检查——不修改游戏,不提供竞争优势。使用风险自负;可能违反目标应用程序的服务条款。提取的数据归各自所有者所有。

贡献

Issues | Pull requests | Discord

下载工具
输出说明
internal-sdk/运行时解析的 C++ 头文件(实体、结构体、枚举、VData)
sdk/带有 constexpr 偏移量的静态 SDK(补丁后会失效,但可作为参考)
signatures/跨 58+ 个 DLL 的每个 vtable 函数的 IDA 风格字节模式
_globals.txt10,000 多个自动发现的全局单例及其字段树
_protobuf-messages.txt嵌入在游戏二进制文件中的已解码 .proto 定义
_all-modules.json完整的结构化 JSON 导出——可提供给查看器或你自己的工具
标志描述
--process <name>目标进程(默认:自动检测)
--output <dir>输出目录(默认:schema-dump/<game>/)
--live在 :9100 上启动 WebSocket 服务器以进行实时检查
--schema <path>加载现有 JSON 转储而非注入
--internal-sdk仅生成运行时 SDK
--sdk仅生成静态 SDK
--signatures仅生成字节模式
--layouts仅生成成员布局