ModEnc is currently in Maintenance Mode: Changes could occur at any given moment, without advance warning.

MIX protectors

From ModEnc
Revision as of 17:46, 25 November 2019 by Aldrinjohnom (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

MIX protectors are tools used to alter valid MIX files in a way that makes them unreadable with XCC Mixer and similar tools, but still leaves them working with the game they're coming from.

The primary technique used for this is mangling the header field storing the body size to generate an invalid value. Westwood's games seem to ignore the header information (thus allowing them to use the MIX despite the wrong header), while XCC compares the stated body size to the actual body size, and rejects the MIX if the stated body size is bigger than the actual body size.

XRML LeechKiller

Originally released by Saberhawk in 2005, LeechKiller is the oldest MIX protector available in the community. According to the information made public by aristurtle, LeechKiller uses a randomized header mangling technique described in his post; in addition to that, DCoder described in 2007 that LeechKiller also erases the internal reference to XCC's file index (lmd.dat) inside the mix, making it even harder to recover the contents.

It is of note that, even back then, it had already been admitted that a little bit of math would restore the MIX.

"DCoder's tool"

It is planned that DCoder's MIX DLL will include protection capabilities, however, this DLL has yet to be released. DCoder has stated that his tool will use the same method of protection as LeechKiller.

Once released, the DLL will be used by LaunchBase, thus giving modders the ability to effortlessly create protected MIXs as part of the development process, without special preparation.

MIX Protector

MIX Protector is a tool released in 2007 by VK. According to aristurtle, MIX Protector's protection is weaker than LeechKiller's, as it always increases the same position by the same value - this stands in contrast to statements by VK claiming "you can't restore it back" as well as hints towards more advanced techniques like "size cheking" [sic] and "CRC cheking" [sic].

See also