OK sorry I'm a little late to the game; found this thread through relevant YTMNDs. I've programmed in a few programming languages but haven't done any actionscripting.
Someone brought this up but I don't think they understood the concept as well, as they mentioned "just blocking" decompilation which, well, heh. Sorry buddy but you really don't get what's going on here. :)
Anyway, the point I'm trying to bring up is Whitelist Security. The examples used are good and all, but it's kind of like putting a lock from a cereal box on your bike; everything is there and it works fine, but you have a weak lock you can easily break and have the rest of the movie work fine. Not to mention, what if Eric registered ericbaumanhasahugepenis.com and started hosting these "protected" files on there? Something like that would take him seconds to do, and cost him nothing.
So, yes, Whitelist Security. This is the idea that ONLY what you want is allowed, and everything else is locked out. Rather than saying "if (ebaumsworld, fuckingtheif, othergaywebsite) then goatse() else playmovie()", say "if (newgrounds, mysite, myfriendssite, anothersitethataskedforpermission) then playmovie() else goatse()"? You would, of course, have to combine this with something like the encryptor mentioned earlier otherwise it would be easily hackable.
However, that still seems a little weak, as changing the intitial function call to playmovie() isn't THAT terribly hard for anyone who knows how to dissassemble shit. Especially since Flash works on this "frame" business that seems easy as hell to circumvent. Complete security may never be possible if someone is determined, but it could be made more difficult I'd imagine. How powerful IS actionscript? Can it tell what size its own file is? Can it know the dimensions and checksum of an image, so that it makes sure that it knows that, say, your site's logo is there instead of one that says "ebaumsworld.com"? If these things can be checked, they can be randomly inserted at various points in the movie; bonus points if each check is unique in some way.
I'd imagine that, eventually, the ultimate solution to this problem will have to lay with Macromedia themselves, as .flas are an open standard and no matter what you do, someone with enough free time will fuck with them. And even sadder, if someone invented some good ways to secure flash files, they would have to get EVERYONE who makes interesting content to use them... and then it would be so widespread that someone would figure out a way around them and that ends all that. SOURCE: the milions of dollars those jerks in the RIAA spend to make CD Copy Protection that never works.
However, if there is a way to checksum the file in question, or the media objects in the file, hmm...