/wowpatch

Multiplatform WoW client patcher for private servers (11.0.2+)

Primary LanguageGoMIT LicenseMIT

wowpatch

It's yet another WoW client patcher, but this time written in Go in order to maximize cross-platform compatibility, and without any in-client memory modifications. This means that each you can generate an executable and redistribute it to others as long as they use the same operating system and processor architecture.

Who can use this?

This approach will ONLY work if you:

  1. are connecting to a server with a valid TLS certificate that chains to a trusted root CA in your system trust store.
  2. are using a hostname and not an IP address for your portal cvar setting in WTF/Config.wtf.
  3. are connecting to a server that uses the same gamecrypto key as what is hardcoded (so basically, TrinityCore)

Usage

./wowpatch -h
This application takes as input a retail World of Warcraft client and will generate a modified executable
from it by using binary patching. The resulting executable can be run safely and connect to private servers.

Usage:
  wowpatch [flags]

Examples:
wowpatch -l ./your/wow/exe -o ./patched-exe

Flags:
  -h, --help                    help for wowpatch
  -o, --output-file string      where to output a modified client (default "Arctium")
  -s, --strip-binary-codesign   removes macOS codesigning from resulting binary (default true)
  -l, --warcraft-exe string     the location of the WoW executable (default "/Applications/World of Warcraft/_retail_/World of Warcraft.app/Contents/MacOS/World of Warcraft")

FAQ

Q: Why does this generate an exe with the name Arctium by default?

A: In the event your client crashes, this helps Blizzard filter out the private server noise from their automated client telemetry.

Thanks

An absolutely enormous amount of thanks to Fabian from Arctium for basically all of the knowledge that went into this.