Working on a protection...

Everything about HD, MD, and their mods.

Moderator: Halo Moderators

002
Ranger
Posts: 944
Joined: Wed Aug 16, 2006 5:48 pm
Location: ::1

Working on a protection...

Post by 002 » Tue Jul 16, 2013 11:00 pm

So I'm working on a method for protecting maps. If you know me, you'd know I'm pretty against the idea of protecting maps, but I'm not against frustrating people.

Working... https://dl.dropboxusercontent.com/u/302 ... ap%206.zip

It's an unmodified blood gulch, save for the protection.

Anyway, the map should be:
  • 100% Playable (Hopefully even on Halo PC)
  • Pretty damn annoying to edit when using eschaton or hmt
  • Mostly protected, particularly from ripping
Some tag classes are exempt from the protection.

Image
Image

I'll post what I did to the map tomorrow. I've got to watch my younger brother for a while, so I don't have a lot of time right now. It should be easy to guess what I did, though. This has probably been done before, too.

Just a note. When editing in Eschaton, be sure you organize by tag class, or else Eschaton will crash.

Last edited by 002 on Sun Jul 21, 2013 5:23 pm, edited 7 times in total.

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Working on a protection...

Post by Sparky » Wed Jul 17, 2013 4:48 am

The protection approach I am using with Zeus uses MD5 hashes with passwords, so if you know the password you can unprotect the resource, tag, map or project file. Can you figure out how to include this approach in what you did? You would need to save the password somewhere if not just remember it. The password with Zeus is saved in the user's Zeus preferences file, yet again encrypted but plainly visible in the Zeus Preferences window.

Try something like that, using a password to encrypt the files. Similar to the hashing ruby scripts available with the Sparkle download.
Either you are groping for answers, or you are asking God and listening to Jesus.

Darth Vader
Newbie
Posts: 43
Joined: Thu May 23, 2013 2:05 pm

Re: Working on a protection...

Post by Darth Vader » Wed Jul 17, 2013 5:19 am

Veery interesting............ so each tag is unique but "unreadable" by human eye? Nice idea :D

So, if the guy wants to rip a tag, he has to "Work" for it?

The process of searching for the right tag to rip should be tedious enough make the guy figure out how to make the weapon instead....... Unless the thing he seeks has a special model or skin..............
"And for a split second, the rabbit wondered what the anti-personnel mine was doing in the carrot patch" - Works of David Shrigley

002
Ranger
Posts: 944
Joined: Wed Aug 16, 2006 5:48 pm
Location: ::1

Re: Working on a protection...

Post by 002 » Wed Jul 17, 2013 7:04 am

Image

I've finished the user interface and I've added protection using a seed (a password). I'm now going to work on a way to speed up Illusion protection.

Illusion protection is a two-step process: Z-Team protection is the first step, destroying tag ids in references is the second step.

If a seed is provided, then any protection can be undone if the seed is correctly given. If the seed was not correct, then if the map used Z-Team protection, the map will permanently damaged. If it used basic tag names, the map can be fixed in a rubix-cube sort of way.
Last edited by 002 on Sat Jul 20, 2013 1:27 pm, edited 1 time in total.

TaxiService
Night Stalker
Posts: 6887
Joined: Thu May 24, 2007 5:52 am
Location: 41.896198, 12.4165945
Contact:

Re: Working on a protection...

Post by TaxiService » Wed Jul 17, 2013 11:11 pm

What if you protect it twice? :?
  • TaxiService! Shitposting since 2007!
MGM Sig

002
Ranger
Posts: 944
Joined: Wed Aug 16, 2006 5:48 pm
Location: ::1

Re: Working on a protection...

Post by 002 » Thu Jul 18, 2013 7:13 am

Unless you did Tag names, you would destroy your map. Since it obfuscates the scnr tag, as well, I can detect if that's obfuscated. If it is, it exits with an error.
Last edited by 002 on Sat Jul 20, 2013 1:14 pm, edited 1 time in total.

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Working on a protection...

Post by Sparky » Fri Jul 19, 2013 8:38 pm

The reason this works is ... well, if I told you, then it would be simple still to unprotect a map even that didn't use a seed. Eh. So "until someone develops a program that can unprotect maps protected without a seed by Illusion" is pretty much a done deal, lol. But, well, it's the same thing as what Emergence does.

So why wouldn't Emergence be able to unprotect any map that is "legible" to Halo? It should be able to!

I plan to add a "Fix Map" feature in Zeus that should let you resurrect any map "broken" by Illusion or protected by any program... except for if it's protected by Zeus. Zeus protection is more than just messing with tag names and such so that the standard map meta editors like Eschaton and HMT and HHK can't interpret them. Zeus' Halo asset obfuscation and encryption messes with the map file in other ways so that you wouldn't even see any list of tags in Eschaton or HMT or HHK. It's literal voodoo, taking the Blam! engine for a roller coaster ride, but still allowing the map to be playable. Essentially, it's completely rearranging the file data, yet doing it in such a way that only Halo can still run with it.

The reason that Zeus will be able to resurrect a map corrupted in such a way is that it:

1. Matches data results to know tag data formatting, recognizing the type of tag based upon the pattern of data and salvaging any useful information therein.
2. Reinvents the layout of the map file data upon obfuscation, essentially scrambling and rearranging its information so that only Halo is able to use it, not any other meta data editor (besides Zeus with its content salvaging capabilities).

If you were to open a map file obfuscated and encrypted with Zeus, firstly, it would not even open in Eschaton, and secondly, even if it were to open in Eschaton, no map data would be shown, not even the tag count or map magic.

You would not even see bitmap tags to try to rip those.
Either you are groping for answers, or you are asking God and listening to Jesus.

Modzy
Green Beret
Posts: 3058
Joined: Fri Feb 22, 2008 11:06 pm
Location: Portland, OR

Re: Working on a protection...

Post by Modzy » Fri Jul 19, 2013 11:51 pm

Emergence can't unprotect these maps because 002 implemented some research I did on the process a few years back. You can't just salvage the data anymore, not without an added step.

Tucker933
Peon
Posts: 73
Joined: Sun Jul 25, 2010 1:01 am
Location: California
Contact:

Re: Working on a protection...

Post by Tucker933 » Sat Jul 20, 2013 6:43 pm

=|
Wish people would grow past protecting their maps.

WaeV
Peon
Posts: 126
Joined: Tue Aug 28, 2012 11:21 pm
Contact:

Re: Working on a protection...

Post by WaeV » Sun Jul 21, 2013 12:38 am

Tucker933 wrote:=|
Wish people would grow past protecting their maps.
It's an interesting technical challenge, though. A new technique might hold off the most determined deprotectors for a little while, but afaik the protectors have always lost in the end.
Image

sparkplug

Re: Working on a protection...

Post by sparkplug » Sun Jul 21, 2013 10:49 am

Modzy wrote:Emergence can't unprotect these maps because 002 implemented some research I did on the process a few years back. You can't just salvage the data anymore, not without an added step.
You can always salvage the data in a map; and I don't feel like sharing how this would be possible, because then anyone can go and just do an app that will unprotect any map. But I'd rather include such a feature in Zeus, where you can also scramble the map data so that the current map readers can't read it, but so that Halo will still be able to read it. Map readers are looking for certain information in certain locations, and so if you scramble that information or add an extra offset, for example, before reaching it (like a file alias works, which is how using an alias to link to a map file works with Halo maps in the maps folder), then the standard map editors won't be able to read the information, but Halo will still be able to follow the alias(es) to find it. On top of this, Zeus files, when scrambled and encrypted, use multiple methods of scrambling the information and archiving it, including blowfish encryption, base64 encoding, zip archiving, etc.

So yes, you can always salvage the data as long as it is still usable by Halo. You can salvage the data and the tag types and even match to a list of known tags based upon default metadata values from a folder of tags. Part of Zeus's map fixing method is to use the user's tags directory to match tag metadata values between the map's tags and the tags in the tags directory. That way, after the tag data is actually salvaged (using the same approach that lets even a protected map work in Halo) and matched to its tag type based upon its metadata format, it can be also given the tag name that it most likely originally had. This is a three step process: recognizing tags in the map based upon the same approach that lets Halo recognize them, determining tag types for them based upon their metadata organization, and finally matching them to existing tags that the user has in their tags folder.

If a map file cannot be read by Halo, and if this approach therefore finds no tag data, then the entire file is analyzed for tag data and fixed (regenerated/rebuilt/salvaged) accordingly so that it can be used in Halo. So Zeus will be able to fix broken maps also, and show you what the problems with it are when it has problems. And this is pretty easy to do, once you have all the tag type formats analyzed (which is what I'm doing and mostly have already done with Sparky's Plugins for Eschaton).

So yes, any broken map can be fixed, or at least salvaged in majority. But scrambled maps, which is what Zeus is going to do, will still be able to be "salvaged" but will be recognized as being scrambled and will also be encrypted.

When Zeus authors and scrambles maps, you can play them in Halo, but no other map reader will be able to read them; they won't even open in the map reader like Eschaton or appear to have any tags. Encrypting maps is for uploading to the BDCN and sharing, which other people can download and, after you give them the password, unencrypt and play it.

Modzy
Green Beret
Posts: 3058
Joined: Fri Feb 22, 2008 11:06 pm
Location: Portland, OR

Re: Working on a protection...

Post by Modzy » Sun Jul 21, 2013 10:56 am

>>has a feeling Sparky hasn't even looked at this protection

>>also OHP follows all memory offsets to achieve correct locations, just as Halo does. Adding pointer aliases for protection became obsolete when we stopped dealing in terms of magic and saw that the cache files were literally C-struct memory dumps.

Sparky
Delta Force
Posts: 4194
Joined: Wed Mar 31, 2004 8:59 pm
Location: New Jersey, USA
Contact:

Re: Working on a protection...

Post by Sparky » Sun Jul 21, 2013 11:44 am

What are you saying, Modzy? And why are you starting your paragraphs with ">>"?
If OHP follows memory addresses, then why can't it unprotect a map file?
Also, I'm back to the old "Sparky presents an idea, but gets arguments against it," so as I find routine, I'm not going to discuss any further ideas for protecting or unprotecting map files, or what Zeus does in that regard. I've already said enough: it will be able to salvage any corrupted map file's contents, unless there is no byte pattern in it left to salvage.

I prefer talking about how to do things rather than saying that something is not worth doing or trying to enforce some naysaying disbelief that it is feasible. Let's not go down that road again, OK?
Either you are groping for answers, or you are asking God and listening to Jesus.

WaeV
Peon
Posts: 126
Joined: Tue Aug 28, 2012 11:21 pm
Contact:

Re: Working on a protection...

Post by WaeV » Sun Jul 21, 2013 12:20 pm

I don't think Modzy is saying it isn't feasible to unprotect these maps, only that Emergence won't be able to do it without an update.
Image

Modzy
Green Beret
Posts: 3058
Joined: Fri Feb 22, 2008 11:06 pm
Location: Portland, OR

Re: Working on a protection...

Post by Modzy » Sun Jul 21, 2013 12:48 pm

WaeV wrote:I don't think Modzy is saying it isn't feasible to unprotect these maps, only that Emergence won't be able to do it without an update.
This is exactly what I said.
Emergence can't unprotect these maps because 002 implemented some research I did on the process a few years back. You can't just salvage the data anymore, not without an added step.
The added step does not involve changing memory addresses. Try retrieving the data Sparky, it won't be as easy as it sounds.

Post Reply

Who is online

Users browsing this forum: No registered users and 46 guests