experienceds/dota2-offset-dumper

GitHub: experienceds/dota2-offset-dumper

面向 Dota 2(Source 2 引擎)的运行时 schema、接口和引擎偏移量提取工具,通过特征码扫描实现跨游戏更新版本的稳定输出。

Stars: 0 | Forks: 0

# Dota 2 Offset Dumper 由于 schema 和 interface 数据是直接从引擎中读取的,因此输出结果对于当前运行的任何版本始终是正确的,这意味着它可以跨游戏更新持续工作。引擎全局变量是通过特征码扫描而不是硬编码地址来定位的。 ## 输出 运行该工具会生成一个 `dota2_dump/` 文件夹,其中包含: | 文件 | 内容 | |------|----------| | `client.dll.hpp`, `server.dll.hpp`, … | 每个类的完整 schema 字段偏移量,每个模块对应一个头文件 | | `interfaces.hpp` | 运行时 interface 地址(通过 `CreateInterface` 解析) | | `engine_offsets.hpp` | 引擎全局变量 —— 实体列表、视图矩阵、本地玩家控制器 | | `important_offsets.hpp` | 精选的最常用类子集 | 典型输出:涵盖 20 个模块的约 14,300 个类和约 32,500 个字段。 示例 (`client.dll.hpp`): ``` namespace C_DOTA_BaseNPC { // size 0x19B0 constexpr auto m_bIsPhantom = 0xB90; constexpr auto m_iUnitType = 0xB94; constexpr auto m_iCurrentLevel = 0xBAC; } ``` ## 用法 1. 启动 Dota 2。 2. 运行 `dump.bat` 并允许提权提示 —— 读取其他进程的内存需要管理员权限。 3. 从可执行文件旁边创建的 `dota2_dump/` 文件夹中收集结果。 该 dumper 也可以直接运行: ``` dota2_dumper.exe ``` ## 环境要求 - Windows x64 - 管理员权限 - 执行 dump 时 Dota 2 必须处于运行状态 ## 注意事项 - 如果在大型游戏更新后,`engine_offsets.hpp` 中的任何值输出为 `0x0`,则需要更新相应的特征码。Schema 和 interface 输出不受影响,并将继续自动更新。 - 为了确认正确性,偏移量已通过两种独立的内存读取方法(usermode 和 DMA)进行了交叉验证。 ## 免责声明 仅供教育和逆向工程研究目的使用。请在使用时遵守您所检查的任何软件的服务条款。
标签:Source 2引擎, 主机友好, 云资产清单, 内存提取, 字典生成, 数据解析, 游戏开发, 端点可见性, 逆向工程