How to unlock MXF

Acaro00's icon

I've done a MXF and I want to know if anyone is going to be able to open it if I distribute it.

The .mxf file is openable in Max, but I can't unlock the patch.

If I open the mxf with textedit and copy the text I use the "New from clipboard" I don't get anything.

Is there another ways to try to open it?

Anthony Palomba's icon

You can edit the header of the file with a binary editor. Compare
it with a newly created .maxpat file. Copy the bits that make it
work.

Acaro00's icon

Ok, thanks.

I was able to open it but now I don't see the bpatchers the main patch uses. They appear as empty and I can't right-click and edit object... you know.

Looking in the inspector I can see the bpatcher name (something.maxpatch) correctly, but then the bpatcher is empty.

This doesn't happen when I open the .mxf directly, the bpatchers open correctly.

Anyway to go further than this or maybe this is a good way to obfuscate a mxf files??

cudnylon's icon

if you made it in max5 then yes it is very hackable, including the "missing" bpatchers. send me the .mxf and i would be able to email you within minutes every one of the files you used to make the patch. (don't actually do this, i know how but morally don't do it). it's an unfortunate side effect of the new version. items released in max4 were much more hackproof (but also had its backdoors). i think it's the inclusion of presentation mode and new coding that throws off the old locked down patches which would show up as jumbled text if the textedit method was used.

this is mostly scare tactics though, if you're distributing patches your main demographic is probably non-max users who wouldn't know any of the techniques mentioned above in the first place. hacked patches shouldn't be much of a concern (unless autechre gets ahold of it).

Roman Thilenius's icon

not sure why you say it was more hackproof in max 4? it could not have been easier.

cudnylon's icon

I guess i could never figure it out myself. When i first started programming i wanted to take a glimpse inside of Cyann by Katsuhiro Chiba to see how he was doing similar things as me yet getting much better sounds and it was like Fort Knox.

seejayjames's icon

If you're serious about distribution and not having it reverse-engineered, look to other software which can wrap the .exe and .mxf and encrypt it (these are PC only):

Still would like an option to encrypt built into the Build Collective/Application function, but we've talked through that one before... :)

artm's icon

Wait, they encrypt software and distribute software + the key to decrypt it? Isn't it like pointless?

seejayjames's icon

No, the file or files you tell it to encrypt aren't decryptable, at least that's the claim. In the case of the Oreans software, it encrypts the .mxf and turns it into a .bak file that is slightly larger. So you can't reverse-engineer the patch via copy/paste within Max by hacking the .mxf. I haven't used MoleBox, but I think it just makes one big .exe out of all the files you feed it, so the same should be true.

It's also helpful for other programming languages---even if your program itself isn't hackable, there may be lots of other files (images, sound, 3D models, etc) which have value. You probably don't want even a paying customer to be able to get at them and re-distribute them...so you encrypt them too. Only your main application can access them in this state, just like the main .exe made as a standalone app with Max is the only thing which can access the encrypted .mxf. Again, that's the claim...

The other part of all this is the ability to do licensing and hardware-locking, so that your program will only run on a specific machine, or on a USB key that has U3 capability. Might be a nice option for distribution---even with the extra cost and the delay for the buyer, they can run your program on any PC they want.

Interested to hear other people's thoughts on this, especially if someone's found good encrypting software for Mac... preferably simple and cheap :)

Tim Lloyd's icon

mmmm nobody here is going to post a hacked patch, this forum is far too polite and friendly a place :) It would be disrespectful to the person who created it, and if you want to see the guts you'll have to work it out for yourself I think.

Acaro00's icon

Well, it seems there are no solution to encrypt the .mxf in OSX yet.

If someone ever discovers one, please share it!

seejayjames's icon

Would like to see if this solution would work, it's free and cross-platform!

Not sure the advantages or disadvantages, maybe this one takes more effort?

I suppose mounting one's app as a "disk" would be doable, especially on a USB stick. Though not sure how one would go about licensing etc. Regardless, that might be an option for keeping the .mxf non-hackable...

Roman Thilenius's icon

what always works for protecting your code is not distributing your work
but keeping it to yourself.

has disadvantage,s too, of course.

-110

t.a's icon

As every one of us had this problem once in a while here is "complete" guide. Reverse-engineering an .mxf is pretty easy. As mentioned before open the .mxf file in a hex editor and change its heading (if you don't know exactly what to do, just open a patch of your own, an compare them). Save the edited file as a .maxpat. Once you open the new .maxpat file you'll be missing the bpatchers. Go to the .mxf and double click on the bpatchers and save each one as .maxpat file (with same name of course they already have) in the folder you have your hexedited .maxpat file.done!!

I have only tested the above on Max 5

Reverse engineering is as educational as every other part of programming so please no hard feelings if someone believes that protecting digital data by law is better than maths

EDIT: Forgot to mention though. This doesn't work once there are custom-written externals. But it works for the main and all the subpatches. If someone can add more thoughts on that would be cool.

t.a's icon

hahah yes, true to John Gilmore's spirit

"That's the kind of society I want to build. I want a guarantee -- with physics and mathematics, not with laws -- that we can give ourselves real privacy of personal communications."

:)

Sorry for the off topic