A developer going by SatyPardus has published decompilations of two World of Warcraft clients: Wrath of the Lich King 3.3.5a (build 12340) in a repository called wowdecomp, and Cataclysm 4.3.4 (build 15595) in wowdecomp15595. Both rebuild the original game client as C++ source that compiles on a current Windows machine, with 64-bit executables as the main target. The Wrath project has ported about 90 percent of the original functions, and the 32-bit side of the Cataclysm project is at about 98 percent.
These are reconstructions, not leaks. Blizzard has not released its source code, and neither repository claims it has. Each function was rebuilt from the original binaries, so the result is close to the original program but not identical to it.
How both projects work
The two repositories share a design. Every reconstructed function carries a comment with the address it came from in the original binary, so anyone can compare the new code against the old. The folder layout and file names follow the original client, with engine modules (Storm, the Direct3D 9 and OpenGL graphics layer, the FrameXML interface code, sound, Lua) under Engine/Source and game modules (objects, world rendering, networking, the client database, login screens) under WoW/Source.
Neither repository includes game data. A player builds the client, copies the Data folder from their own matching client next to the executable, points the realmlist at a server and starts WowClient64.exe. Third-party libraries such as FreeType, zlib and PCRE are linked from their upstream sources rather than decompiled. The 64-bit builds also swap the original 32-bit DivxDecoder.dll for a movie decoder based on Xvid.
Building either project needs Windows 10 or 11, Visual Studio 2022 with the C++ desktop workload and CMake. NASM is required only for the optional 32-bit build.
Progress at a glance
| Client | Binary measured | Functions ported | Code bytes ported | Measured on |
|---|---|---|---|---|
| Wrath of the Lich King 3.3.5a (12340) | x86 | 24,515 of 27,157 (90.3%) | 93.2% | October 15, 2026 |
| Cataclysm 4.3.4 (15595) | x86 | 30,790 of 31,300 (98.4%) | 98.2% | October 16, 2026 |
| Cataclysm 4.3.4 (15595) | x64 | 26,401 of 38,179 (69.2%) | 79.7% | October 16, 2026 |
The totals leave out compiler runtime code and linked third-party libraries. The Cataclysm README notes that its x64 share reads lower than the code it covers, because many x64 addresses are still being added to functions that are already ported.
The Wrath of the Lich King client (3.3.5a)
The 3.3.5a client is the version most private servers run, which makes this repository the one most modders will look at first. It targets the Wow.exe from June 2010. The README calls x64 the main target and keeps a 32-bit build mainly to check data structures against the original, which is a 32-bit program. In other words, the 64-bit version of the Wrath client exists because of this rebuild.

The repository also adds a CMake option, WOWDECOMP_DISABLE_SIGNATURE_CHECKS, that skips the MPQ file and .toc.sig signature checks so modified game data and interface files load. A separate build target, WowClient, adds a crash logger that opens a console window and writes a log file when the client crashes.
The Cataclysm client (4.3.4)
The Cataclysm project uses two original binaries as references, a 32-bit Wow.exe and a 64-bit Wow-64.exe, both from build 15595. Blizzard shipped both, and the address tags in the source record the location in each. Some tags also carry addresses from the 4.0.6a and 3.3.5a builds, which shows the project grew out of earlier work on the older clients.

The README warns that its progress figures measure how much of the original binary has a counterpart in the source, not how much of the game works. The client builds into a complete executable that starts and runs, but a ported function can still behave differently from the original.
The README thanks the binana, thunderbrew and whoa projects, a contributor named TOMRUS for the initial IDA database, and the WoW modding community.
Why decompiled clients matter for private servers
Servers for these client versions have been open source for years. AzerothCore and TrinityCore both support 3.3.5a. The client was the closed half. Changing it meant patching the binary, writing DLL extensions or reverse engineering one feature at a time.
The announcement describes the shift this way: with the code available, customizing and improving the client is easier and more flexible, and a 64-bit client removes the limits of a 32-bit program. A feature that once required finding the right bytes and hooking them can in principle be written as a normal code change and compiled.
Coverage is not parity, though. Anyone planning a project on top of either repository should test the specific systems they depend on, since the Cataclysm README itself says ported functions can behave differently.
Legal and practical caveats
Decompiled code is derived from Blizzard’s copyrighted programs, and running a private server with Blizzard’s client goes against the company’s terms. Blizzard has acted against private servers before, most visibly when it sent a cease-and-desist letter to the Nostalrius server in 2016. The repositories avoid distributing game data, but this article does not offer a legal opinion on whether publishing the decompiled code is safe for the author or for people who build on it.
