Link to home
Start Free TrialLog in
Avatar of davideo7
davideo7Flag for United States of America

asked on

What is the best way to ensure that my flash game doesn't get stolen? Would having it load into another flash clip prevent this?

What is the best way to ensure that my flash game doesn't get stolen? Would having it load into another flash clip prevent this?

And also, does loading 1 flash clip into another cause the loaded flash clip to have the same FPS as the loading flash clip?
Avatar of MattKenefick
MattKenefick
Flag of United States of America image

I've done very deep extensive research and it's impossible to prevent.

I've try nesting in anonymous clips from sources that don't identify as flash, clearing and disallowing all cache, obscuring everything, and so on. I've exhausted the possibilities and there is always a way to get it. Wireshark, cURL POSTs, Firebug, there's always something.

Unfortunately, the only thing you can try to do is encrypt it, but there are programs that will decrypt it.

Sorry.
ASKER CERTIFIED SOLUTION
Avatar of Aneesh Chopra
Aneesh Chopra
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
correction:
but I still assure that actionscript code encrypted using SWFEncrypt CANNOT be decompiled..
"Can open most obfuscated/protected SWFs. Alhough this is not an 'official' feature, ASV bypasses many obfuscations. (Broken obfuscations disappear quite quickly). For your own protected/obfuscated SWF files, we provide support case by case basis. "
Point is, any of these "encryption"s are nothing more than a temporary fix. It's the same reason why DVDs and Software can't help but be pirated. They spend thousands in anti-piracy software, then in 2 days... it's been torn apart and located in torrents.

If Adobe can't protect their CSx Suite, what makes you think you can protect your SWF?
Avatar of davideo7

ASKER

Not sure if you guys are familiar with newgrounds but they recommend 'SWF Protect'
http://www.swfprotect.net/

Honestly though,

What are you protecting that hasn't already been made?
What ground-breaking revolutionary SWF did you create that no one else should have?

I realized this a while ago that there's nothing I can make that others can't. If you make something good enough, and people use it, you'll be known for it. You might as well just take an active step in the community to help others learn than keep it all for yourself.


Buy some encryption software, it may protect it for a week or from a fair group of people, but it's never gonna be fool-proof. It'll get cracked sooner or later just like everything else.
Well actually I'm working on developing a flash game site which will have a small membership fee which will contain christian flash games exclusive to the site.  And I've already got many churches and about 500+ pre-registered members so it's very important that these games don't get stolen and placed on other sites since they are suppose to be exclusive to mybiblegames.com
What makes you think someone would want to steal them?

If anyone wants something bad enough, they can get it. Anything you do is only a deterrent.
I think someone would want to steal them to put them up on other sites, it happens all the time.  There are tons of sites that will try and steal flash games and put them on their own site.
ok.. well.. if they do the code below.. it'll be on their site but actually showing your site and there's absolutely nothing possible you can do about that.

As noble as the efforts may be, it is futile.
<iframe src="http://mybiblegames.com/game1.swf" width="550" height="400" frameborder="0"></iframe>

Open in new window

How would they know what the URL of the game is though?  I have a flash clip which is responsible for loading the url's and the flash loader doesn't know that the url's are that it's loading until it uses PHP to connect to the database to find out what that URL is.  Also, the games on the website can only be played if the user is logged in.
MatKenefick comment:
"If Adobe can't protect their CSx Suite, what makes you think you can protect your SWF? "

Adobe actually does not want to make his software protection so strong that it can't be broken..
Even most of the big companies uses this approach..
reason is: 90% of users who actually made Flash what it is today are developers who dont have money to buy it. But they contribute in many ways in the development and improvement of such big softwares.

secondly,
here author is asking for the available solution to protect his work, so I suggested the best available option
till date, atleast SWFEncrypt's encrypted SWF can't be decompile at least till today.



If you have something as simple as FireFox's Firebug or Safari's activity monitor, you can see every file loaded.

So even if you load your game into a container like..

container.swf ->loads -> game.swf

They'll see both of them and can just click game.swf to download it


There's really no avoiding it, I'm telling you. I spent months going over every possibility.
Than perhaps I could make some of the important code to the game load into it dynamically from a database using PHP.  So if they did download the flash game, it wouldn't contain all the necessary code because the .swf file wouldn't actually contain all the code needed, it would have to load it from a database and using PHP I can detect where that .swf file is requesting that code and if it's not on my domain, it would not send the missing code into the .swf file.

Would that work?
You can't dynamically compile code into the SWF file.
How would you prevent them from accessing http://www.mybiblegames.com/codefile.php?

Short answer: No.
Sure you can.  Some of the variables would be empty until they load information from a database.  Maybe I missed something somewhere when I studied PHP but you can't actually steal a PHP file from a server because it gets ran on the server, not the users machine.
They wouldn't need to TAKE your PHP. They could just link to it. Your Flash file will be doing the same thing.

If they IFRAME your SWF, it works just asif it were on your site.. cause technically it IS on your site. The way you'd bypass that is to include FlashVars in your Javascript embedding... but then they could just add them on the end of the URL to the swf like game.swf?var1=this&var2=something.

As much as you want to protect it, you're fighting a losing battle and I am no longer going to participate in this thread because I know it cannot be done but you do not want to accept it.
Well you got 2 problems there.

1. The PHP wouldn't send the variable data if the flash file wasn't on the domain name.
2. If they iframed the swf file, they would have to be logged in to play the game anyway.  All the games on my site aren't going to play unless the user is logged in.

Additionally, how are they going to find the url of the swf file?  That information would be sent to the flash loader from a database using PHP.
MattKenefick,
you are really misleading the author,
I simply said that SWFEncrypt can protect SWF actionscript code and I assure it 100% that noone till date can decompile and reuse encrypted code..

I have given a link to the protected SWF also and this SWF is coded to run through my server only,
http://www.aneeshchopra.com/work/pageflip2/advancedPageFlip.swf

I challenge that if you can steal code from it or make it run from any other server, I will eat up my words.

if you can't break it then I request, please dont say that SWF code can't be protected.


SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Anniyan
Anniyan

yes its not encryption... its just obfuscation.. just like .NET code...
may be aneesh is right... has anyone broken that work  done by SWF encrypt ?