Sep 25, 2009

How To Protect Your Warcraft 3 Map

There are a lot of different ways of protecting a warcraft 3 map. Here are some:

>> 1: Damaging the MPQ headersize information.
A warcraft3 map is like a zip file. You have first a 512 bytes big map header with some informations. Then you have a MPQ archive attached. The MPQ archive contains all the numerous files needed for a map. The first 4 bytes of the MPQ file are the identifier. It can be read as 'MPQ'. The next four bytes are the header size, which is always hex 0x20 00 00 00. Some map protectors now change the size from 0x20 00 00 00 to a random number which can look like this for example: hex 0xF6 6E BA 76. Most MPQ applications now cannot open the MPQ archive anymore because of that wrong size entry. Warcraft3 seems to ignore false header size entries, so those maps still run in war3.
This protection can be very easily be repaired by just setting the value back to 0x20 00 00 00.

>> 2: Delete the war3map.wgt file inside a map The war3map.wgt contains all the necessairy information about the variables, triggers and groups your map uses. This file is only used by the World-Editor. A missing or altered war3map.wgt file results the World-Editor to fail loading the map.

2b: Deleting the war3map.w3c, war3map.w3s, war3map.w3r, .war3mapunits.doo files
war3map.w3c stores the camera settings for the world editor. war3map.w3s stores the sounds used by a map world editor. war3map.w3r defines the regions used in a map for world editor.
All those files are also only used by the world editor and can be easily regenerated by the war3map.j file. See "Delete the war3map.wgt file inside a map" above.

>> 3: Hiding the war3map.j file
Some clever map protecting people figured out a way to hide the war3map.j file, so you cannot extract it easily with some programs. Regular map files contains the war3map.j file directly in the root directory. The map protector guys figured out that a map still works if the file is moved into a directory called "Scripts\".
This protection can be broken very easily... just.....

>> 4: Scrambling the war3map.j file
Some protecting dudes think they are clever, so they rename all the variables and function names with random numbers. This renders the war3map.j file very hard to read by normal people, but it's useless for parser scripts. Deprotect's parser scripts do not care for keywords.

Or You can use tool like ExtProtect v0.1.2.0b


zigza said...
This comment has been removed by a blog administrator.

Post a Comment

Lancraft © 2008-2013.
Online Users