Welcome to Open Carnage

A resource for Halo Custom Edition and MCC modding, with unique means of rewarding content creation and support. Have a wander to see why we're worth the time! - EST. 2012

Sign in to follow this  
Followers 0
Kavawuvi

What is map protection? And how is it broken?

11 posts in this topic

Please note that this guide is purely for educational reasons and NOT to develop map protectors. All protection techniques discussed in this post are easily thwarted by today's tools. In fact, map protection is never a completely effective way of stopping tag extraction because of a simple rule: If Halo can open it, then it can be extracted.

 

I do know of a number of other map protections (and how to break them), but I'm not going to go over them in this topic until the tools to break them are released. In fact, if you use any unmentioned methods, then please note that I will not only break the map protection (and release the tool used to do it), but I will leak all of your tags to drive home the fact that your tags are, in fact, not safe from my grubby mouse paws. You have been warned.

 

With that out of the way, let's get started. Note that this will be a bit of a more low-level guide, so it is not a guide on how to use a map deprotector per se (please refer to the deprotector's respective readme for this).

 


 

What is map protection?

 

Map protection is basically a form of corruption intended to make maps difficult to read from anything that is not the Halo game. Most forms of protection take advantage of the fact that a lot of data in cache files is redundant and/or unused, and by corrupting this data, you can confuse programs that assume this data to be correct. This is typically used to prevent tag extraction, and the reason is generally to make it so only the author (who has the original tags) can use the tags. Ironically, most protected tags are not even owned by said author, but that's a topic for a different discussion.

 

Tag path obfuscation

 

The most common form of map protection is tag path obfuscation. Most tag paths are not read by the game, so they can be changed to either random garbage or a message like "Map by New001 DON'T TOUCH" in the map that is only seen when viewing the map in a program. The exception are some hardcoded paths which are used by the game to refer to things like globals, certain bitmap tags, etc.

 

This form of map protection cannot be reversed, but it isn't actually necessary to reverse it to extract the tags. Simply make the tag paths into something sane and unique. There are also methods that can be used to make tag paths into something actually useful to make it easier to identify what has been extracted, too.

 

Tag class obfuscation

 

Tag class (or tag group) obfuscation is fairly common. This takes advantage of the fact that the identity of the tag class (e.g. 'bipd' = 'biped') isn't read by the game. For example, object tags are not identified by the tag class but by an enumerator in the tag, itself.

 

Initially, the way tools broke this was by finding tag references and inferring the tag classes from them. However, this isn't effective if the references, themselves, are obfuscated (though note that some references cannot be obfuscated such as object attachments as these are actually read). The only way to effectively break it is to infer them based on actual tag definitions and what each reference can possibly reference, instead.

 

Tag array displacement

 

Tag array displacement involves moving the tag array to a different part of the tag data besides immediately after the tag data header. This is only effective at stopping programs that assume the tag array location such as Eschaton. It just so happens that MCC does this, too, so doing this will also stop MCC from loading your map.

 

While this form of map protection cannot reliably be reversed, it has no effect on programs that use the pointer in the tag data header for finding the tag array.

Tucker933, PopeTX28 and Sunstriker7 like this

Share this post


Link to post
Share on other sites

Tiddy-bits:

Posted (edited)

MCC assumes the tag array location?

 

 

I'm curious what inspired this. Has there been another wave of people releasing obfuscated maps?

Edited by Sunstriker7
Kavawuvi likes this

Kavawuvi: one of these days these glutes are gonna squawk all over you

Share this post


Link to post
Share on other sites
14 hours ago, Sunstriker7 said:

MCC assumes the tag array location?

Yeah. It basically does what Eschaton does.

 

14 hours ago, Sunstriker7 said:

I'm curious what inspired this. Has there been another wave of people releasing obfuscated maps?

None that I know of, but I'm planning on releasing a decorruptor for Invader.

Sunstriker7 likes this

Share this post


Link to post
Share on other sites
1 hour ago, Pfhunkie said:

Modders using protection to make sure other modders don’t use the tags they made by modding someone else’s tags in a game that was designed by someone else.

 

 Brilliant!

Capitalism, baby!

Kavawuvi, Pfhunkie, tarikja and 1 other like this

Oddly, this is familiar to you... as if from an old dream.          

Share this post


Link to post
Share on other sites
16 hours ago, Pfhunkie said:

Modders using protection to make sure other modders don’t use the tags they made by modding someone else’s tags in a game that was designed by someone else.

 

@aLTis-Sensei, why can't I see my legs???

aLTis likes this

Share this post


Link to post
Share on other sites
1 hour ago, PopeTX28 said:

lol. Who even wants to protect tags for such an old game? 

Heaven forbid someone use your tags, claim them as their own, and now tens of people will praise them instead of you!!!


4VWJfoZ.gif

"You fix my mistakes is what you do." - Tucker
"You're useless." - Tucker 2 minutes later

"You're sort of cool in some ways." - Kavawuvi

 

"Fuck off." - Mint Blitz

Share this post


Link to post
Share on other sites
1 hour ago, Pfhunkie said:

Heaven forbid someone use your tags, claim them as their own, and now tens of people will praise them instead of you!!!

 

lol the community is so small, people can figure out whos tags are whos now.

Share this post


Link to post
Share on other sites
58 minutes ago, PopeTX28 said:

 

lol the community is so small, people can figure out whos tags are whos now.

Like I said, whole TENS of people might get confused!!! 

Sunstriker7 and PopeTX28 like this

4VWJfoZ.gif

"You fix my mistakes is what you do." - Tucker
"You're useless." - Tucker 2 minutes later

"You're sort of cool in some ways." - Kavawuvi

 

"Fuck off." - Mint Blitz

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.