• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!
  • ✅ The POLL for Hive's Texturing Contest #34 is OPEN! Vote for the TOP 3 SKINS! 🔗Click here to cast your vote!
  • ✅ The POLL for Hive's Techtree Contest #20 is OPEN! Vote for the TOP 3 FACTIONS! 🔗Click here to cast your vote!

WC3Fuscator - Map Protector for Warcraft III

This bundle is marked as pending. It has not been reviewed by a staff member yet.
  • Like
Reactions: deepstrasz

WC3Fuscator - Map Protector for Warcraft III

shot.png


If you've ever released a Warcraft III map, you've probably seen it happen: someone unpacks it, opens it in the World Editor, changes a few things, and uploads it as their own.
WC3Fuscator is a lightweight Windows tool that makes that much harder.
Simply drag your .w3x or .w3m onto the program, and it generates a protected copy of your map.

This tool also makes it almost impossible to make "Hacked" or "Cheated" versions of the map.


Features​

  • Removes unnecessary World Editor source files from the map archive, including:
    • Trigger source
    • Preplaced unit data
    • Regions
    • Cameras
    • Sounds
    • These files are only used by the editor. Warcraft III doesn't need them at runtime, so the protected map plays exactly the same.

  • Obfuscates war3map.lua
    • Converts your readable Lua source into an obfuscated payload.
    • Replaces it with a loader that reconstructs the script at runtime.
    • Makes unpacked maps much harder to read or modify.

  • Optional protection layers
    • Local variable renaming
    • Runtime key generation
    • Multiple obfuscation passes

Usage​


  1. Launch WC3Fuscator.exe
  2. Drag your .w3x or .w3m onto the window (or browse for it)
  3. Wait a few seconds
  4. Your protected map is ready
  5. Test it in Warcraft III before publishing

Compatibility​

  • Warcraft III Reforged
  • Warcraft III 1.31+ Lua maps

JASS maps are also supported for the editor file cleanup, although Lua obfuscation is naturally only applied to Lua maps.

Limitations​

No map protection is impossible to reverse.

WC3Fuscator is designed to stop the vast majority of map rippers who simply unpack a map and expect to find clean source code. It significantly raises the amount of work required to inspect or modify your map, but it is not intended to be unbreakable.

If your goal is to protect your work from casual theft while keeping full compatibility with Warcraft III, that's exactly what this tool is built for.
Contents

WC3Fuscator - Map Protector for Warcraft III (Binary)

Fair point about it being free, but free and open source aren't the same thing. A map protector loses a lot of its value if everyone can see exactly how it works. That's why tools like VMProtect, Themida, and Enigma are all closed-source. In this case, being a binary isn't a downside, it's the whole point.
 
Those are commercial products.
  • VMProtect: 400$ / 600$ / 1000$ license +200$ per year of updates
  • Themida: 250€ / 500€ license
  • Enigma: 250$ / 500$ license

You don't see the irony here. Vexorian's has been subtly breaking Jass maps since 1.29 released. It will continue to break maps, because people keep using it and the source code is not available to fix it.

Your beautifier bloats the code by a factor of 12.75x and the decoding time will cause battlenet timeouts for lobby hosts, who have ever downloaded your map.

That said, it took me 11 minutes including map download (time between posting and adding the edit). The only question remains: how quickly the cheater will realize to use ChatGPT on it and whether spending more of your time on this is worth it.
 
Those are commercial products.
  • VMProtect: 400$ / 600$ / 1000$ license +200$ per year of updates
  • Themida: 250€ / 500€ license
  • Enigma: 250$ / 500$ license

You don't see the irony here. Vexorian's has been subtly breaking Jass maps since 1.29 released. It will continue to break maps, because people keep using it and the source code is not available to fix it.

Your beautifier bloats the code by a factor of 12.75x and the decoding time will cause battlenet timeouts for lobby hosts, who have ever downloaded your map.

That said, it took me 11 minutes including map download (time between posting and adding the edit). The only question remains: how quickly the cheater will realize to use ChatGPT on it and whether spending more of your time on this is worth it.
So is "WC3Protect" a commercial map protector and a .lua obfuscator.

That's a fair point. I only tested it on my own relatively small maps, and those loaded fine on Battle.net, so I didn't run into that issue.

If larger maps are hitting timeout territory because of the decode step, that's something I'll work on. I appreciate you pointing it out, and I'll see if I can reduce the bloat and improve the decoding performance ASAP.

Edit:

Checked it, and you're right about the bloat. I measured about 12.73×. That's caused by using \ddd decimal escapes across two encoding layers. I'm switching it instead, which should bring it down to roughly 1.33× per layer.

Edit2:

Updated the binary. protected script went 7.67MB→1.05MB (12.7×→1.75×)
 
Last edited:
Back
Top