This content has been marked as final. Show 3 replies
This has been discussed many times before.
It's not a secret that decompilation is easy, but it's really not as big a problem as you think it is. If someone steals your code and puts it in their app, you can turn the same trick right back around on them: decompile their app and find your stolen code inside. If you do find it, this gives you an airtight copyright case. Since everyone should realize this, no one's going to risk getting caught.
Someone may look at your code to steal ideas, which is a good thing, because turnabout works here, too. View Source is why the web took off so fast: one person would figure out a neat trick, and others would copy it. The person whose ideas were "stolen" can go out and steal others' ideas. The rising tide lifts all boats.
Ideas that you can't afford to have stolen may be protected by patents.
As for putting the SWF inside the executable, how long do you suppose it will take for the Flash decompiler vendors to figure that trick out? A week, at most?
Obfuscation is doomed. Stop worrying about it and spend your time working on something worth your time.
I'm not worrying about it, I'm bringing this topic up again because I think it would make AIR more credible as a desktop application platform, and I think it is something that should have been done from the start. Leaving the core application files floating around for anyone capable of double-clicking on a few folder icons is a bit silly if you ask me.
We're not talking about the web here either so the "view source" argument is mute. I make a lot of my code freely available for other developers to use but desktop application source code is in a totally different ballpark, not all of us are simply pushing HTML pages through AIR.
There isn't anything that can be done about SWF files used online but Adobe could at least tighten things up where AIR is concerned. Given the choice, most of us would no doubt choose to lock our doors at night. :-)
I think you're missing a key point: ActionScript cannot be turned into some kind of code that only a machine can read. The nature of the language makes decompilation pretty easy. They can't even safely rename the public symbols in your project, due to eval() and such. No matter what Adobe does, the decompiler makers will find a way to reverse it.
If you want C++, you know where to find it.