Unprotection of Movies

Date:    Sun, 30 Jul 1995 16:09:06 EDT
From:    John Dowdell <71333.42@COMPUSERVE.COM>
Subject: Re: unprotection of movies.
I'm sorry, guess I should have come in earlier on this thread, but hadn't thought it would get to be so tindrous. I remember there was discussion on this same topic last autumn... apparently the word's still new to some, however.

Embedding a movie in a Projector or protecting it does two things: it strips out the thumbnails from the Cast Window and removes the "scriptText" version of scripts.

Regeneration of thumbnails is part of the Director program itself... this is what it does if you change the thumbnail size in the "Cast Window Options" menu dialog. (This is a handy tip in case these thumbnails ever get corrupted or outdated somehow: Change their size, then do a "Save As..." of the file.)

Protecting an external movie also renders it unopenable in the Director environment. Through creation of a Projector and use of the "saveMovie" command you can write this to a new movie, but the original movie cannot be opened by Director... on the Mac, a change of the File Type will not effect this, either.

So yes, there are ways for a canny person to look at your Score and to access media. As others have pointed out over the last two weeks media is never really safe, anyway... the big loss from the above techniques is that someone can look at your Score. I'm not sure how important that is to the various folks reading this.

The scriptText is still gone, though. It is not regenerated from the tokenized script that is executed. This protection, from all I've seen and heard, is irrevocable. If someone follows the above technique and opens a script window, then closing that script window will erase the tokenized version, too. Scripts are still protected.

The "trace" discussion is a bit of a red herring, from all I've seen... have you ever tried it? I'd have to hit the aspirin bigtime to try to reconstruct the scripts of even a moderately interesting movie just from looking at a trace of it... others can see if you've used any nasty words as handler names, and might be able to get an overall sense of style, but I can't imagine anyone actually finding much value there... go ahead and try it yourself.

(On the previous discussion about turning the Lingo "trace" property off, this would provide an additional level of deterrence, but could easily be overcome by playing within a host movie that turns the "trace" property back on. If you wished you could put continual "if the trace then quit" statements in the code to guard against this, but, gee.... ;)

Protecting a movie reduces file size slightly, by removing thumbnails and scriptText. It also prevents the movie from being opened in the Director environment. It's still possible for a determined person to look at your Score and Cast. But the scripting itself is safely removed when a movie's embedded in a Projector or protected.

As far as distributing this knowledge, I haven't checked with others on staff, but my own take is that it's extremely difficult to restrain ideas. When confronted with the regular "I protected my movies and threw away the backups and what can I do?" support calls I'll probably punt on the above hack, because anyone who can't back up properly will likely not be able to implement those tricksy techniques either... still wouldn't be a solution for them anyway, because the scripts, while operable, will have vamoosed.

But here's my question for y'all: What do you think the ideal, next-gen protection method would be? There was a similar heated thread on DIRECT-L two months back on the morality of protection in the first place, but assuming the sensible "people can do what they wish with their property until it affects somebody else's property" and the standard respect for mutually voluntary contract, then what type of protection method would make the most sense to you?

Compression and decryption both take time for playback, so those seem dicey... but if you had your druthers, how would you dream of this thing evolving over the years?