This project was made possible by the work of the WoW modding and reverse-engineering community. We gratefully acknowledge the following resources and projects:
The WoWDev Wiki is a community-maintained resource documenting World of Warcraft file formats and protocols. This project's file format parsers were implemented based on specifications from the wiki:
- ADT (terrain) - Terrain tile format
- M2 (models) - Character and creature model format
- WMO (buildings) - World model object format
- BLP (textures) - Blizzard picture format
- DBC (database) - Database client file format
- World Packet - Network protocol opcodes
https://github.com/TrinityCore/TrinityCore
Open-source WoW server emulator. Referenced for understanding server-side protocol behavior and packet structures.
https://github.com/cmangos/mangos-wotlk
Open-source WoW server emulator. Referenced for protocol documentation and authentication flow.
https://github.com/azerothcore/azerothcore-wotlk
Open-source WoW 3.3.5a server. Referenced for SRP6 authentication details, update field indices, and packet structures.
This project uses the following open-source libraries:
| Library | License | Purpose |
|---|---|---|
| SDL2 | zlib | Window management, input handling |
| Vulkan (loader + headers) | Apache 2.0 | Graphics API |
| vk-bootstrap | MIT | Vulkan instance/device boilerplate |
| GLM | MIT | Mathematics library |
| OpenSSL | Apache 2.0 (OpenSSL 3.x) | Cryptographic functions (SRP6, RC4, RSA) |
| zlib | zlib | Decompression for DBC/M2/packet payloads |
| FFmpeg (libav*) | LGPL 2.1 | Video playback (cinematics) |
| Unicorn Engine | LGPL 2 | x86 CPU emulation for Warden module execution |
| miniaudio | MIT/Unlicense | Audio playback |
| StormLib | MIT | MPQ archive extraction (asset_extract tool) |
| Dear ImGui | MIT | Immediate mode GUI |
| Lua 5.1.5 | MIT | Macro and addon script execution |
| Catch2 (amalgamated) | BSL-1.0 | Test framework (test build only) |
| nlohmann/json | MIT | JSON parsing (opcode tables, manifests) |
| stb_image / stb_image_write | MIT/Public Domain | PNG/JPG decode and write |
| AMD FidelityFX FSR2 | MIT | Optional temporal upscaling |
The SRP6 authentication implementation follows:
- RFC 2945 - The SRP Authentication and Key Exchange System
- RFC 5054 - Using SRP for TLS Authentication
World of Warcraft is a trademark of Blizzard Entertainment, Inc. This project is not affiliated with or endorsed by Blizzard Entertainment.
This project does not include any Blizzard Entertainment proprietary data, assets, or code. All file format parsers were implemented independently based on publicly available community documentation.
Users must supply their own legally obtained WoW 3.3.5a game data files to use this software.